-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.json
937 lines (937 loc) · 748 KB
/
index.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
{
"api/HomeSeer.Jui.Types.EInputType.html": {
"href": "api/HomeSeer.Jui.Types.EInputType.html",
"title": "Enum EInputType | HomeSeer PluginSdk Docs",
"keywords": "Enum EInputType C# Visual Basic public enum EInputType Public Enum EInputType Namespace : HomeSeer.Jui.Types Assembly : PluginSdk.dll The input type determines the type of data that will be accepted by an input view and the keyboard that is shown to the user when they are typing in it. Fields Name Description Date Used for date only pickers DateTime Used for date and time multi pickers Decimal Used for decimal numbers Email Used for Email Addresses in the format of @ .* Number Used for whole numbers Password Used to mask secure text Text Used for text of any kind Time Used for time only pickers Url Used for web addresses; values are parsed to ensure they are a valid URI"
},
"api/HomeSeer.Jui.Types.ELabelType.html": {
"href": "api/HomeSeer.Jui.Types.ELabelType.html",
"title": "Enum ELabelType | HomeSeer PluginSdk Docs",
"keywords": "Enum ELabelType C# Visual Basic public enum ELabelType Public Enum ELabelType Namespace : HomeSeer.Jui.Types Assembly : PluginSdk.dll The label type determines how a label view is displayed Fields Name Description Default Displays the label as regular text Preformatted Displays the label as preformatted text"
},
"api/HomeSeer.Jui.Types.EPageType.html": {
"href": "api/HomeSeer.Jui.Types.EPageType.html",
"title": "Enum EPageType | HomeSeer PluginSdk Docs",
"keywords": "Enum EPageType C# Visual Basic public enum EPageType Public Enum EPageType Namespace : HomeSeer.Jui.Types Assembly : PluginSdk.dll A page's type determines where it is published in HomeSeer and what kinds of tasks it is used for Fields Name Description DeviceConfig These pages can be used to include customization options and procedures that can be executed by the user for a specific device EventAction These pages are used to display the configuration options for event actions EventTrigger These pages are used to display the configuration options for event triggers and conditions Generic These pages can be used for whatever you would like if you want to use JUI to generate MDBootstrap compatible HTML elements Settings A settings page is used to configure the way the plug-in behaves"
},
"api/HomeSeer.Jui.Types.ESelectListType.html": {
"href": "api/HomeSeer.Jui.Types.ESelectListType.html",
"title": "Enum ESelectListType | HomeSeer PluginSdk Docs",
"keywords": "Enum ESelectListType C# Visual Basic public enum ESelectListType Public Enum ESelectListType Namespace : HomeSeer.Jui.Types Assembly : PluginSdk.dll The select list type determines how a select list view is displayed Fields Name Description DropDown Displays the select list as a traditional drop down list RadioList Displays the select list as a collection of radio buttons SearchableDropDown Displays the select list as a searchable drop down list"
},
"api/HomeSeer.Jui.Types.EToggleType.html": {
"href": "api/HomeSeer.Jui.Types.EToggleType.html",
"title": "Enum EToggleType | HomeSeer PluginSdk Docs",
"keywords": "Enum EToggleType C# Visual Basic public enum EToggleType Public Enum EToggleType Namespace : HomeSeer.Jui.Types Assembly : PluginSdk.dll The toggle type determines how it is displayed Fields Name Description Checkbox Display a toggle as a checkbox Switch Display a toggle as a switch"
},
"api/HomeSeer.Jui.Types.EViewType.html": {
"href": "api/HomeSeer.Jui.Types.EViewType.html",
"title": "Enum EViewType | HomeSeer PluginSdk Docs",
"keywords": "Enum EViewType C# Visual Basic public enum EViewType Public Enum EViewType Namespace : HomeSeer.Jui.Types Assembly : PluginSdk.dll The type that a view is set to determines what class a client application will deserialize it as. Each view type has a different set of properties that specifies how it behaves and how it should be displayed to the user Some view types are ignored by different page types. Refer to the page type you are using to determine what views are available for use. Fields Name Description Button A NavigateButtonView Group A ViewGroup Input An InputView Label A LabelView SelectList A SelectListView TextArea A TextAreaView TimeSpan A TimeSpanView Toggle A ToggleView Undefined No type is defined. This will cause an error"
},
"api/HomeSeer.Jui.Types.html": {
"href": "api/HomeSeer.Jui.Types.html",
"title": "Namespace HomeSeer.Jui.Types | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.Jui.Types Enums EInputType The input type determines the type of data that will be accepted by an input view and the keyboard that is shown to the user when they are typing in it. ELabelType The label type determines how a label view is displayed EPageType A page's type determines where it is published in HomeSeer and what kinds of tasks it is used for ESelectListType The select list type determines how a select list view is displayed EToggleType The toggle type determines how it is displayed EViewType The type that a view is set to determines what class a client application will deserialize it as. Each view type has a different set of properties that specifies how it behaves and how it should be displayed to the user Some view types are ignored by different page types. Refer to the page type you are using to determine what views are available for use."
},
"api/HomeSeer.Jui.Views.AbstractView.html": {
"href": "api/HomeSeer.Jui.Views.AbstractView.html",
"title": "Class AbstractView | HomeSeer PluginSdk Docs",
"keywords": "Class AbstractView C# Visual Basic public abstract class AbstractView Public MustInherit Class AbstractView Inheritance System.Object AbstractView InputView LabelView NavigateButtonView SelectListView TextAreaView TimeSpanView ToggleView ViewGroup Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll The base implementation of a JUI view Constructors View Source AbstractView(String) Create an instance of an AbstractView with an ID Declaration C# Visual Basic protected AbstractView(string id) Protected Sub New(id As String) Parameters Type Name Description System.String id The unique ID for the AbstractView Exceptions Type Condition System.ArgumentNullException Thrown if a view is created with an invalid ID View Source AbstractView(String, String) Create an instance of an AbstractView with an ID and Name Declaration C# Visual Basic protected AbstractView(string id, string name) Protected Sub New(id As String, name As String) Parameters Type Name Description System.String id The unique ID for the AbstractView System.String name The name for the AbstractView Exceptions Type Condition System.ArgumentNullException Thrown if a view is created with an invalid ID Fields View Source HtmlIndent Represents a tab/indent for formatting HTML Declaration C# Visual Basic [JsonIgnore] const string HtmlIndent = \" \" <JsonIgnore> Const HtmlIndent As String = \" \" Field Value Type Description System.String View Source NonAllowedCharactersForId The list of special characters that are not allowed in a view ID Declaration C# Visual Basic [JsonIgnore] static readonly char[] NonAllowedCharactersForId <JsonIgnore> Shared ReadOnly NonAllowedCharactersForId As Char() Field Value Type Description System.Char [] Properties View Source Id A unique identifier for this view. You will need to use this to identify the view when HomeSeer communicates changes to its values from a client. Do NOT use any of the following special characters in your view id: !\"#$%&'()*+,./:;<=>?@[]^`{|}~ For consistency and readability it is advised to use the format of COMPANY-PLUGIN-PAGE-VIEW For example: a LabelView on the first settings page in the Z-Wave Plugin might have an id of HomeSeer-ZWave-Settings1-InterfaceName Declaration C# Visual Basic [JsonProperty(\"id\", Required = Required.Always)] public string Id { get; protected set; } <JsonProperty(\"id\", Required:=Required.Always)> Public Property Id As String Property Value Type Description System.String View Source Name The name/title of this view Declaration C# Visual Basic [JsonProperty(\"name\")] public string Name { get; protected set; } <JsonProperty(\"name\")> Public Property Name As String Property Value Type Description System.String View Source Type The type of this view. This is automatically configured Declaration C# Visual Basic [JsonProperty(\"type\", Required = Required.Always)] public EViewType Type { get; protected set; } <JsonProperty(\"type\", Required:=Required.Always)> Public Property Type As EViewType Property Value Type Description EViewType Methods View Source GetIndentStringFromNumber(Int32) Used to generate the exact tab spacing (using spaces) for any given indent amount Declaration C# Visual Basic public static string GetIndentStringFromNumber(int indent) Public Shared Function GetIndentStringFromNumber(indent As Integer) As String Parameters Type Name Description System.Int32 indent The number of indents for the line Returns Type Description System.String A string containing the number of spaces to achieve the desired indent View Source GetStringValue() Get the value associated with this view as a string if there is one. Declaration C# Visual Basic public abstract string GetStringValue() Public MustOverride Function GetStringValue As String Returns Type Description System.String The value stored in this view as a string or NULL if there is no value stored. View Source IdContainsNonAllowedCharacters() Used to check if the view ID contains non-allowed characters Declaration C# Visual Basic public bool IdContainsNonAllowedCharacters() Public Function IdContainsNonAllowedCharacters As Boolean Returns Type Description System.Boolean True if view ID contains at least one non-allowed characters, False otherwise View Source ShallowCopy() Create a shallow copy of this view Declaration C# Visual Basic public AbstractView ShallowCopy() Public Function ShallowCopy As AbstractView Returns Type Description AbstractView The shallow copy of the view View Source ToHtml(Int32) Get a string representation of this view converted into HTML Declaration C# Visual Basic public abstract string ToHtml(int indent = 0) Public MustOverride Function ToHtml(indent As Integer = 0) As String Parameters Type Name Description System.Int32 indent Returns Type Description System.String An HTML representation of the view as a string View Source Update(AbstractView) Update the the user editable properties from a new version of the same view Declaration C# Visual Basic public virtual void Update(AbstractView newViewState) Public Overridable Sub Update(newViewState As AbstractView) Parameters Type Name Description AbstractView newViewState The new state of the view being updated. This view's ID and Type must match the calling view exactly Exceptions Type Condition System.ArgumentNullException Thrown when the new state of the view is null System.InvalidOperationException Thrown when the new view's ID or Type don't match the calling view View Source UpdateValue(String) Update the value of the view Declaration C# Visual Basic public virtual void UpdateValue(string value) Public Overridable Sub UpdateValue(value As String) Parameters Type Name Description System.String value The new value"
},
"api/HomeSeer.Jui.Views.EColSize.html": {
"href": "api/HomeSeer.Jui.Views.EColSize.html",
"title": "Enum EColSize | HomeSeer PluginSdk Docs",
"keywords": "Enum EColSize C# Visual Basic public enum EColSize Public Enum EColSize Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll The possible sizes for a column in the bootstrap grid system Fields Name Description Auto Size based on the natural width of their content Col Equal-width column Col1 Column of size 1 Col10 Column of size 10 Col11 Column of size 11 Col12 Column of size 12 Col2 Column of size 2 Col3 Column of size 3 Col4 Column of size 4 Col5 Column of size 5 Col6 Column of size 6 Col7 Column of size 7 Col8 Column of size 8 Col9 Column of size 9 None None"
},
"api/HomeSeer.Jui.Views.EHorizontalAlignment.html": {
"href": "api/HomeSeer.Jui.Views.EHorizontalAlignment.html",
"title": "Enum EHorizontalAlignment | HomeSeer PluginSdk Docs",
"keywords": "Enum EHorizontalAlignment C# Visual Basic public enum EHorizontalAlignment Public Enum EHorizontalAlignment Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll The possible behaviors for the horizontal alignment of items in a row Fields Name Description JustifyContentAround Items are evenly distributed in the row with equal space around them JustifyContentBetween Items are evenly distributed in the row; first item is on the start of the row, last item on the end of the row JustifyContentCenter Items are centered along the row JustifyContentEnd Items are packed towards the end of the row JustifyContentStart Items are packed towards the start of the row None None"
},
"api/HomeSeer.Jui.Views.EVerticalAlignment.html": {
"href": "api/HomeSeer.Jui.Views.EVerticalAlignment.html",
"title": "Enum EVerticalAlignment | HomeSeer PluginSdk Docs",
"keywords": "Enum EVerticalAlignment C# Visual Basic public enum EVerticalAlignment Public Enum EVerticalAlignment Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll The possible behaviors for the vertical alignment of items in a row Fields Name Description AlignItemsCenter Items are centered in the row AlignItemsEnd Items are placed at the bottom of the row AlignItemsStart Items are placed at the top of the row None None"
},
"api/HomeSeer.Jui.Views.GridRow.html": {
"href": "api/HomeSeer.Jui.Views.GridRow.html",
"title": "Class GridRow | HomeSeer PluginSdk Docs",
"keywords": "Class GridRow C# Visual Basic public class GridRow Public Class GridRow Inheritance System.Object GridRow Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll A set of views that are displayed as a flexbox row within a GridView Constructors View Source GridRow() Create a new instance of a view group row Declaration C# Visual Basic [JsonConstructor] public GridRow() <JsonConstructor> Public Sub New Fields View Source _items The items to display within this row. Declaration C# Visual Basic [JsonProperty(\"items\")] List<GridRowItem> _items <JsonProperty(\"items\")> _items As List(Of GridRowItem) Field Value Type Description System.Collections.Generic.List < GridRowItem > Properties View Source HorizontalAlignment The horizontal alignment of the items in the row Declaration C# Visual Basic [JsonProperty(\"horizontal_alignment\")] public EHorizontalAlignment HorizontalAlignment { get; set; } <JsonProperty(\"horizontal_alignment\")> Public Property HorizontalAlignment As EHorizontalAlignment Property Value Type Description EHorizontalAlignment View Source VerticalAlignment The vertical alignment of the items in the row Declaration C# Visual Basic [JsonProperty(\"vertical_alignment\")] public EVerticalAlignment VerticalAlignment { get; set; } <JsonProperty(\"vertical_alignment\")> Public Property VerticalAlignment As EVerticalAlignment Property Value Type Description EVerticalAlignment View Source Views The views to display within this row. This is for access only. Declaration C# Visual Basic [JsonIgnore] public ReadOnlyCollection<AbstractView> Views { get; } <JsonIgnore> Public ReadOnly Property Views As ReadOnlyCollection(Of AbstractView) Property Value Type Description System.Collections.ObjectModel.ReadOnlyCollection < AbstractView > Methods View Source AddItem(AbstractView, EColSize, EColSize, EColSize, EColSize, EColSize) Add an item to the row Declaration C# Visual Basic public void AddItem(AbstractView view, EColSize extraSmallSize = EColSize.Col, EColSize smallSize = EColSize.None, EColSize mediumSize = EColSize.None, EColSize largeSize = EColSize.None, EColSize extraLargeSize = EColSize.None) Public Sub AddItem(view As AbstractView, extraSmallSize As EColSize = EColSize.Col, smallSize As EColSize = EColSize.None, mediumSize As EColSize = EColSize.None, largeSize As EColSize = EColSize.None, extraLargeSize As EColSize = EColSize.None) Parameters Type Name Description AbstractView view EColSize extraSmallSize EColSize smallSize EColSize mediumSize EColSize largeSize EColSize extraLargeSize Exceptions Type Condition System.ArgumentNullException Thrown when the specified view or its ID is null View Source GetHorizontalAlignmentClass() Declaration C# Visual Basic string GetHorizontalAlignmentClass() Function GetHorizontalAlignmentClass As String Returns Type Description System.String View Source GetVerticalAlignmentClass() Declaration C# Visual Basic string GetVerticalAlignmentClass() Function GetVerticalAlignmentClass As String Returns Type Description System.String View Source ToHtml(Int32) Get a string representation of this grid row converted into HTML Declaration C# Visual Basic public string ToHtml(int indent = 0) Public Function ToHtml(indent As Integer = 0) As String Parameters Type Name Description System.Int32 indent Returns Type Description System.String An HTML representation of the view as a string"
},
"api/HomeSeer.Jui.Views.GridRowItem.html": {
"href": "api/HomeSeer.Jui.Views.GridRowItem.html",
"title": "Class GridRowItem | HomeSeer PluginSdk Docs",
"keywords": "Class GridRowItem C# Visual Basic public class GridRowItem Public Class GridRowItem Inheritance System.Object GridRowItem Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll A view displayed as a flex item within a GridRow A size can be associated to this item for each responsive breakpoint Constructors View Source GridRowItem(AbstractView, EColSize, EColSize, EColSize, EColSize, EColSize) Create a new instance of a view row item Declaration C# Visual Basic [JsonConstructor] public GridRowItem(AbstractView view, EColSize extraSmallSize = EColSize.Col, EColSize smallSize = EColSize.None, EColSize mediumSize = EColSize.None, EColSize largeSize = EColSize.None, EColSize extraLargeSize = EColSize.None) <JsonConstructor> Public Sub New(view As AbstractView, extraSmallSize As EColSize = EColSize.Col, smallSize As EColSize = EColSize.None, mediumSize As EColSize = EColSize.None, largeSize As EColSize = EColSize.None, extraLargeSize As EColSize = EColSize.None) Parameters Type Name Description AbstractView view EColSize extraSmallSize EColSize smallSize EColSize mediumSize EColSize largeSize EColSize extraLargeSize Properties View Source ExtraLargeSize Size for screen width >= 1200px Declaration C# Visual Basic [JsonProperty(\"extra_large_size\")] public EColSize ExtraLargeSize { get; set; } <JsonProperty(\"extra_large_size\")> Public Property ExtraLargeSize As EColSize Property Value Type Description EColSize View Source ExtraSmallSize Size for screen width 0-576px. If the same size is used for all screen width, use this property to set it, and leave the other property sizes to None Declaration C# Visual Basic [JsonProperty(\"extra_small_size\")] public EColSize ExtraSmallSize { get; set; } <JsonProperty(\"extra_small_size\")> Public Property ExtraSmallSize As EColSize Property Value Type Description EColSize View Source LargeSize Size for screen width >= 960px Declaration C# Visual Basic [JsonProperty(\"large_size\")] public EColSize LargeSize { get; set; } <JsonProperty(\"large_size\")> Public Property LargeSize As EColSize Property Value Type Description EColSize View Source MediumSize Size for screen width >= 768px Declaration C# Visual Basic [JsonProperty(\"medium_size\")] public EColSize MediumSize { get; set; } <JsonProperty(\"medium_size\")> Public Property MediumSize As EColSize Property Value Type Description EColSize View Source SmallSize Size for screen width >= 576px Declaration C# Visual Basic [JsonProperty(\"small_size\")] public EColSize SmallSize { get; set; } <JsonProperty(\"small_size\")> Public Property SmallSize As EColSize Property Value Type Description EColSize View Source View The view to display. Declaration C# Visual Basic [JsonProperty(\"view\", IsReference = true)] public AbstractView View { get; set; } <JsonProperty(\"view\", IsReference:=True)> Public Property View As AbstractView Property Value Type Description AbstractView Methods View Source GetColSizeClass(String, EColSize) Declaration C# Visual Basic string GetColSizeClass(string prefix, EColSize size) Function GetColSizeClass(prefix As String, size As EColSize) As String Parameters Type Name Description System.String prefix EColSize size Returns Type Description System.String View Source GetHtmlDivClass() Get the HTML div class for this item Declaration C# Visual Basic public string GetHtmlDivClass() Public Function GetHtmlDivClass As String Returns Type Description System.String The div class for this item"
},
"api/HomeSeer.Jui.Views.GridView.html": {
"href": "api/HomeSeer.Jui.Views.GridView.html",
"title": "Class GridView | HomeSeer PluginSdk Docs",
"keywords": "Class GridView C# Visual Basic public class GridView : ViewGroup Public Class GridView Inherits ViewGroup Inheritance System.Object AbstractView ViewGroup GridView Inherited Members ViewGroup.Views ViewGroup.ViewIds ViewGroup.ViewCount ViewGroup._views ViewGroup._viewIds ViewGroup.ContainsViewWithId(String) ViewGroup.GetViewById(String) ViewGroup.GetViewById<TViewType>(String) ViewGroup.GetStringValue() ViewGroup.UpdateViewById(AbstractView) ViewGroup.UpdateViewValueById(String, String) ViewGroup.MapViewIds() ViewGroup.Update(AbstractView) AbstractView.Id AbstractView.Name AbstractView.Type AbstractView.HtmlIndent AbstractView.NonAllowedCharactersForId AbstractView.UpdateValue(String) AbstractView.GetIndentStringFromNumber(Int32) AbstractView.IdContainsNonAllowedCharacters() AbstractView.ShallowCopy() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll A grid view defines a sub-grouping of views with a header. It uses the bootstrap grid system to layout the views within the group Constructors View Source GridView(String) Create a new instance of a grid view with an ID Declaration C# Visual Basic [JsonConstructor] protected GridView(string id) <JsonConstructor> Protected Sub New(id As String) Parameters Type Name Description System.String id The unique ID of the group Exceptions Type Condition System.ArgumentNullException Thrown if a view is created with an invalid ID View Source GridView(String, String) Create a new instance of a grid view with an ID and Name Declaration C# Visual Basic public GridView(string id, string name = null) Public Sub New(id As String, name As String = Nothing) Parameters Type Name Description System.String id The unique ID of the group System.String name The name of the group. DEFAULT: null Exceptions Type Condition System.ArgumentNullException Thrown if a view is created with an invalid ID Fields View Source _rows The rows to display within this group. Declaration C# Visual Basic [JsonProperty(\"rows\")] List<GridRow> _rows <JsonProperty(\"rows\")> _rows As List(Of GridRow) Field Value Type Description System.Collections.Generic.List < GridRow > Methods View Source AddRow(GridRow) Add a row to the group Declaration C# Visual Basic public void AddRow(GridRow row) Public Sub AddRow(row As GridRow) Parameters Type Name Description GridRow row Exceptions Type Condition System.ArgumentNullException Thrown when the specified row is null View Source AddView(AbstractView) Add a view to the grid The view will be aded as a single row. Declaration C# Visual Basic public override void AddView(AbstractView view) Public Overrides Sub AddView(view As AbstractView) Parameters Type Name Description AbstractView view Overrides ViewGroup.AddView(AbstractView) Exceptions Type Condition System.ArgumentNullException The view or its ID is null System.ArgumentException There is already a view with the same ID present in the collection System.InvalidOperationException Thrown when trying to add a ViewGroup to another ViewGroup ViewTypeMismatchException Thrown when a view group's type does not match its class View Source AddViews(IEnumerable<AbstractView>) Add multiple views to the grid The views will be added as stacked rows Declaration C# Visual Basic public override void AddViews(IEnumerable<AbstractView> views) Public Overrides Sub AddViews(views As IEnumerable(Of AbstractView)) Parameters Type Name Description System.Collections.Generic.IEnumerable < AbstractView > views Overrides ViewGroup.AddViews(IEnumerable<AbstractView>) Exceptions Type Condition System.ArgumentNullException Thrown when the specified collection of views is null View Source RemoveAllViews() Clear a collection of views Declaration C# Visual Basic public override void RemoveAllViews() Public Overrides Sub RemoveAllViews Overrides ViewGroup.RemoveAllViews() View Source SetViews(IEnumerable<AbstractView>) Set the list of views in this group Declaration C# Visual Basic public override void SetViews(IEnumerable<AbstractView> views) Public Overrides Sub SetViews(views As IEnumerable(Of AbstractView)) Parameters Type Name Description System.Collections.Generic.IEnumerable < AbstractView > views Overrides ViewGroup.SetViews(IEnumerable<AbstractView>) Exceptions Type Condition System.ArgumentNullException The list of views is null View Source ToHtml(Int32) Get a string representation of this view converted into HTML Declaration C# Visual Basic public override string ToHtml(int indent = 0) Public Overrides Function ToHtml(indent As Integer = 0) As String Parameters Type Name Description System.Int32 indent Returns Type Description System.String An HTML representation of the view as a string Overrides ViewGroup.ToHtml(Int32)"
},
"api/HomeSeer.Jui.Views.html": {
"href": "api/HomeSeer.Jui.Views.html",
"title": "Namespace HomeSeer.Jui.Views | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.Jui.Views Classes AbstractView The base implementation of a JUI view GridRow A set of views that are displayed as a flexbox row within a GridView GridRowItem A view displayed as a flex item within a GridRow A size can be associated to this item for each responsive breakpoint GridView A grid view defines a sub-grouping of views with a header. It uses the bootstrap grid system to layout the views within the group InputView An input view is an editable text box for the user to enter strings, numbers, etc. InvalidValueForTypeException The exception that is thrown when a value is invalid for a view's configured type JsonDataException The exception thrown when there is a problem serializing/deserializing JSON data LabelView Labels define static text displayed to the user. This can either be as a single set of text or as a combination of a name and value to indicate that a particular property is set to a given value. NavigateButtonView A button is used to navigate the UI to another HomeSeer page. Page A page is the primary container used to define a view for the user interface. Page.Factory A factory class for creating pages PageFactory A factory class for creating pages in a more streamlined way SelectListView A selection list allows a user to pick a value from a predefined collection. SettingsCollection A collection of JUI settings pages. TextAreaView A text area view is an editable text box for the user to enter a large volume of text TimeSpanView A time span allows user to enter a time interval in days, hours, minutes and seconds ToggleView A toggle switch is used to indicate a control that has only two possible operational states. ViewCollectionHelper ViewGroup View groups define a vertical sub-grouping of views with a header. ViewNotFoundException The exception that is thrown when a view is not found in a collection ViewTypeMismatchException The exception that is thrown when a view's type doesn't match its class Enums EColSize The possible sizes for a column in the bootstrap grid system EHorizontalAlignment The possible behaviors for the horizontal alignment of items in a row EVerticalAlignment The possible behaviors for the vertical alignment of items in a row"
},
"api/HomeSeer.Jui.Views.InputView.html": {
"href": "api/HomeSeer.Jui.Views.InputView.html",
"title": "Class InputView | HomeSeer PluginSdk Docs",
"keywords": "Class InputView C# Visual Basic public sealed class InputView : AbstractView Public NotInheritable Class InputView Inherits AbstractView Inheritance System.Object AbstractView InputView Inherited Members AbstractView.Id AbstractView.Name AbstractView.Type AbstractView.HtmlIndent AbstractView.NonAllowedCharactersForId AbstractView.GetIndentStringFromNumber(Int32) AbstractView.IdContainsNonAllowedCharacters() AbstractView.ShallowCopy() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll An input view is an editable text box for the user to enter strings, numbers, etc. Constructors View Source InputView(String, String, EInputType) Create a new instance of an InputView with an ID, a Name, and the specified style. Declaration C# Visual Basic [JsonConstructor] public InputView(string id, string name, EInputType type = EInputType.Text) <JsonConstructor> Public Sub New(id As String, name As String, type As EInputType = EInputType.Text) Parameters Type Name Description System.String id The unique ID for the View System.String name The name of the View EInputType type The style of the input. DEFAULT: Text View Source InputView(String, String, String, EInputType) Create a new instance of an InputView with an ID, a Name, a Value, and the specified style. Declaration C# Visual Basic public InputView(string id, string name, string value, EInputType type = EInputType.Text) Public Sub New(id As String, name As String, value As String, type As EInputType = EInputType.Text) Parameters Type Name Description System.String id The unique ID for the View System.String name The name of the View System.String value The value inputted into the field EInputType type The style of the input. DEFAULT: Text Exceptions Type Condition InvalidValueForTypeException Thrown when the value is invalid for the input type Fields View Source _value Declaration C# Visual Basic string _value _value As String Field Value Type Description System.String Properties View Source InputType The style of input accepted by this field. This determines the keyboard the user is shown when on a mobile device. Declaration C# Visual Basic [JsonProperty(\"input_type\")] public EInputType InputType { get; set; } <JsonProperty(\"input_type\")> Public Property InputType As EInputType Property Value Type Description EInputType View Source Value The current value of the field Declaration C# Visual Basic [JsonProperty(\"value\")] public string Value { get; set; } <JsonProperty(\"value\")> Public Property Value As String Property Value Type Description System.String Exceptions Type Condition InvalidValueForTypeException Thrown when the value is invalid for the input type Methods View Source GetStringValue() Get the value associated with this view as a string if there is one. Declaration C# Visual Basic public override string GetStringValue() Public Overrides Function GetStringValue As String Returns Type Description System.String The value stored in this view as a string or NULL if there is no value stored. Overrides AbstractView.GetStringValue() Remarks The same as Value View Source IsValueValidForType(String) Check if the value is valid for the type set on the input view Declaration C# Visual Basic public bool IsValueValidForType(string value) Public Function IsValueValidForType(value As String) As Boolean Parameters Type Name Description System.String value The value to check Returns Type Description System.Boolean TRUE if the value is valid for the type or FALSE if it is not View Source ToHtml(Int32) Get a string representation of this view converted into HTML Declaration C# Visual Basic public override string ToHtml(int indent = 0) Public Overrides Function ToHtml(indent As Integer = 0) As String Parameters Type Name Description System.Int32 indent Returns Type Description System.String An HTML representation of the view as a string Overrides AbstractView.ToHtml(Int32) View Source Update(AbstractView) Update the view to the new state. This will change the inputted value Declaration C# Visual Basic public override void Update(AbstractView newViewState) Public Overrides Sub Update(newViewState As AbstractView) Parameters Type Name Description AbstractView newViewState The new state of the view being updated. This view's ID and Type must match the calling view exactly Overrides AbstractView.Update(AbstractView) Exceptions Type Condition ViewTypeMismatchException Thrown when the new view's class doesn't match the calling view InvalidValueForTypeException Thrown when the value is invalid for the input type View Source UpdateValue(String) Update the value of the view Declaration C# Visual Basic public override void UpdateValue(string value) Public Overrides Sub UpdateValue(value As String) Parameters Type Name Description System.String value The new value Overrides AbstractView.UpdateValue(String)"
},
"api/HomeSeer.Jui.Views.InvalidValueForTypeException.html": {
"href": "api/HomeSeer.Jui.Views.InvalidValueForTypeException.html",
"title": "Class InvalidValueForTypeException | HomeSeer PluginSdk Docs",
"keywords": "Class InvalidValueForTypeException C# Visual Basic [Serializable] public class InvalidValueForTypeException : Exception, ISerializable, _Exception <Serializable> Public Class InvalidValueForTypeException Inherits Exception Implements ISerializable, _Exception Inheritance System.Object System.Exception InvalidValueForTypeException Implements System.Runtime.Serialization.ISerializable System.Runtime.InteropServices._Exception Inherited Members System.Exception.GetBaseException() System.Exception.ToString() System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext) System.Exception.InternalToString() System.Exception.GetType() System.Exception.Message System.Exception.Data System.Exception.InnerException System.Exception.TargetSite System.Exception.StackTrace System.Exception.HelpLink System.Exception.Source System.Exception.HResult System.Exception.SerializeObjectState System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll The exception that is thrown when a value is invalid for a view's configured type Constructors View Source InvalidValueForTypeException() Create an exception with the default message Declaration C# Visual Basic public InvalidValueForTypeException() Public Sub New View Source InvalidValueForTypeException(SerializationInfo, StreamingContext) Special constructor used for deserialization. This is mandatory in order for HSCF to be able to deserialize this exception. Declaration C# Visual Basic protected InvalidValueForTypeException(SerializationInfo info, StreamingContext context) Protected Sub New(info As SerializationInfo, context As StreamingContext) Parameters Type Name Description System.Runtime.Serialization.SerializationInfo info The data to deserialize from System.Runtime.Serialization.StreamingContext context The context of the source stream View Source InvalidValueForTypeException(String) Create an exception with a message Declaration C# Visual Basic public InvalidValueForTypeException(string message) Public Sub New(message As String) Parameters Type Name Description System.String message The message to include with the exception View Source InvalidValueForTypeException(String, Exception) Create an exception wrapping another exception with a message Declaration C# Visual Basic public InvalidValueForTypeException(string message, Exception innerException) Public Sub New(message As String, innerException As Exception) Parameters Type Name Description System.String message The message to include with the exception System.Exception innerException The exception to wrap Implements System.Runtime.Serialization.ISerializable System.Runtime.InteropServices._Exception"
},
"api/HomeSeer.Jui.Views.JsonDataException.html": {
"href": "api/HomeSeer.Jui.Views.JsonDataException.html",
"title": "Class JsonDataException | HomeSeer PluginSdk Docs",
"keywords": "Class JsonDataException C# Visual Basic [Serializable] public class JsonDataException : Exception, ISerializable, _Exception <Serializable> Public Class JsonDataException Inherits Exception Implements ISerializable, _Exception Inheritance System.Object System.Exception JsonDataException Implements System.Runtime.Serialization.ISerializable System.Runtime.InteropServices._Exception Inherited Members System.Exception.GetBaseException() System.Exception.ToString() System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext) System.Exception.InternalToString() System.Exception.GetType() System.Exception.Message System.Exception.Data System.Exception.InnerException System.Exception.TargetSite System.Exception.StackTrace System.Exception.HelpLink System.Exception.Source System.Exception.HResult System.Exception.SerializeObjectState System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll The exception thrown when there is a problem serializing/deserializing JSON data Constructors View Source JsonDataException() Create an exception with the default message Declaration C# Visual Basic public JsonDataException() Public Sub New View Source JsonDataException(Exception) Create an exception with the default message that wraps another exception Declaration C# Visual Basic public JsonDataException(Exception innerException) Public Sub New(innerException As Exception) Parameters Type Name Description System.Exception innerException The exception to wrap View Source JsonDataException(SerializationInfo, StreamingContext) Special constructor used for deserialization. This is mandatory in order for HSCF to be able to deserialize this exception. Declaration C# Visual Basic protected JsonDataException(SerializationInfo info, StreamingContext context) Protected Sub New(info As SerializationInfo, context As StreamingContext) Parameters Type Name Description System.Runtime.Serialization.SerializationInfo info The data to deserialize from System.Runtime.Serialization.StreamingContext context The context of the source stream View Source JsonDataException(String) Create an exception with a message Declaration C# Visual Basic public JsonDataException(string message) Public Sub New(message As String) Parameters Type Name Description System.String message The message to include with the exception View Source JsonDataException(String, Exception) Create an exception wrapping another exception with a message Declaration C# Visual Basic public JsonDataException(string message, Exception innerException) Public Sub New(message As String, innerException As Exception) Parameters Type Name Description System.String message The message to include with the exception System.Exception innerException The exception to wrap Implements System.Runtime.Serialization.ISerializable System.Runtime.InteropServices._Exception"
},
"api/HomeSeer.Jui.Views.LabelView.html": {
"href": "api/HomeSeer.Jui.Views.LabelView.html",
"title": "Class LabelView | HomeSeer PluginSdk Docs",
"keywords": "Class LabelView C# Visual Basic public sealed class LabelView : AbstractView Public NotInheritable Class LabelView Inherits AbstractView Inheritance System.Object AbstractView LabelView Inherited Members AbstractView.Id AbstractView.Name AbstractView.Type AbstractView.HtmlIndent AbstractView.NonAllowedCharactersForId AbstractView.Update(AbstractView) AbstractView.UpdateValue(String) AbstractView.GetIndentStringFromNumber(Int32) AbstractView.IdContainsNonAllowedCharacters() AbstractView.ShallowCopy() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll Labels define static text displayed to the user. This can either be as a single set of text or as a combination of a name and value to indicate that a particular property is set to a given value. Constructors View Source LabelView(String, String) Create a new instance of a Label with an ID and text value Declaration C# Visual Basic [JsonConstructor] public LabelView(string id, string name) <JsonConstructor> Public Sub New(id As String, name As String) Parameters Type Name Description System.String id The unique ID for the View System.String name The name of the View; the text displayed by the label Exceptions Type Condition System.ArgumentNullException Thrown if a view is created with an invalid ID View Source LabelView(String, String, String) Create a new instance of a Label with an ID, Name, and text value Declaration C# Visual Basic public LabelView(string id, string name, string value) Public Sub New(id As String, name As String, value As String) Parameters Type Name Description System.String id The unique ID for the View System.String name The name of the View; the title of the label System.String value The text displayed by the label Exceptions Type Condition System.ArgumentNullException Thrown if both the name and value are empty Properties View Source LabelType The type of the label Declaration C# Visual Basic [JsonProperty(\"label_type\")] public ELabelType LabelType { get; set; } <JsonProperty(\"label_type\")> Public Property LabelType As ELabelType Property Value Type Description ELabelType View Source Value The value displayed; leave blank to just show the name Declaration C# Visual Basic [JsonProperty(\"value\")] public string Value { get; set; } <JsonProperty(\"value\")> Public Property Value As String Property Value Type Description System.String Methods View Source GetStringValue() Get the value associated with this view as a string if there is one. Declaration C# Visual Basic public override string GetStringValue() Public Overrides Function GetStringValue As String Returns Type Description System.String The value stored in this view as a string or NULL if there is no value stored. Overrides AbstractView.GetStringValue() View Source ToHtml(Int32) Get a string representation of this view converted into HTML Declaration C# Visual Basic public override string ToHtml(int indent = 0) Public Overrides Function ToHtml(indent As Integer = 0) As String Parameters Type Name Description System.Int32 indent Returns Type Description System.String An HTML representation of the view as a string Overrides AbstractView.ToHtml(Int32)"
},
"api/HomeSeer.Jui.Views.NavigateButtonView.html": {
"href": "api/HomeSeer.Jui.Views.NavigateButtonView.html",
"title": "Class NavigateButtonView | HomeSeer PluginSdk Docs",
"keywords": "Class NavigateButtonView C# Visual Basic public sealed class NavigateButtonView : AbstractView Public NotInheritable Class NavigateButtonView Inherits AbstractView Inheritance System.Object AbstractView NavigateButtonView Inherited Members AbstractView.Id AbstractView.Name AbstractView.Type AbstractView.HtmlIndent AbstractView.NonAllowedCharactersForId AbstractView.UpdateValue(String) AbstractView.GetIndentStringFromNumber(Int32) AbstractView.IdContainsNonAllowedCharacters() AbstractView.ShallowCopy() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll A button is used to navigate the UI to another HomeSeer page. Remarks This type of view is not recommended for event actions and triggers because it will force the user away from the page they are on. It disrupts the workflow for editing and creating actions and triggers. Constructors View Source NavigateButtonView(String, String, String) Create an instance of a ButtonView with an ID and Name Declaration C# Visual Basic [JsonConstructor] public NavigateButtonView(string id, string name, string homeSeerUrl) <JsonConstructor> Public Sub New(id As String, name As String, homeSeerUrl As String) Parameters Type Name Description System.String id The unique ID for the View System.String name The name of the View. Must not be blank System.String homeSeerUrl The HomeSeer URL this button navigates to. See HomeSeerUrl for the correct format. Exceptions Type Condition System.ArgumentException Thrown if a view is created with an invalid Name or HomeSeerUrl Fields View Source _invalidNameCharacters Declaration C# Visual Basic const string _invalidNameCharacters = \"<>\\n\\r\" Const _invalidNameCharacters As String = \"<>\" & vbLf & vbCr Field Value Type Description System.String Properties View Source HomeSeerUrl The HomeSeer URL this button navigates to. This must be a location relative to the hostname of the system. It must start with a / For example: \"/devices.html\" Declaration C# Visual Basic public string HomeSeerUrl { get; } Public ReadOnly Property HomeSeerUrl As String Property Value Type Description System.String Methods View Source GetStringValue() Get the value associated with this view as a string if there is one. Declaration C# Visual Basic public override string GetStringValue() Public Overrides Function GetStringValue As String Returns Type Description System.String Returns null Overrides AbstractView.GetStringValue() View Source ToHtml(Int32) Get a string representation of this view converted into HTML Declaration C# Visual Basic public override string ToHtml(int indent = 0) Public Overrides Function ToHtml(indent As Integer = 0) As String Parameters Type Name Description System.Int32 indent Returns Type Description System.String An HTML representation of the view as a string Overrides AbstractView.ToHtml(Int32) View Source Update(AbstractView) Update the view to the new state. This will change the HomeSeerUrl Declaration C# Visual Basic public override void Update(AbstractView newViewState) Public Overrides Sub Update(newViewState As AbstractView) Parameters Type Name Description AbstractView newViewState The new state of the view being updated. This view's ID and Type must match the calling view exactly Overrides AbstractView.Update(AbstractView) Exceptions Type Condition ViewTypeMismatchException Thrown when the new view's class doesn't match the calling view"
},
"api/HomeSeer.Jui.Views.Page.Factory.html": {
"href": "api/HomeSeer.Jui.Views.Page.Factory.html",
"title": "Class Page.Factory | HomeSeer PluginSdk Docs",
"keywords": "Class Page.Factory C# Visual Basic [Obsolete(\"Please use HomeSeer.Jui.Views.PageFactory now.\", false)] public static class Factory <Obsolete(\"Please use HomeSeer.Jui.Views.PageFactory now.\", False)> Public Module Factory Inheritance System.Object Page.Factory Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll A factory class for creating pages Methods View Source CreateDeviceConfigPage(String, String) Create a new device configuration page Declaration C# Visual Basic public static Page CreateDeviceConfigPage(string id, string name) Public Shared Function CreateDeviceConfigPage(id As String, name As String) As Page Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description Page A new Page with its type set to EPageType.DeviceConfig View Source CreateDeviceIncPage(String, String) Create a new device inclusion page Declaration C# Visual Basic static Page CreateDeviceIncPage(string id, string name) Shared Function CreateDeviceIncPage(id As String, name As String) As Page Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description Page A new Page with its type set to EPageType.DeviceInclude View Source CreateEventActionPage(String, String) Create a new, event action page Declaration C# Visual Basic public static Page CreateEventActionPage(string id, string name) Public Shared Function CreateEventActionPage(id As String, name As String) As Page Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description Page A new Page with its type set to EPageType.EventAction View Source CreateEventTriggerPage(String, String) Create a new, event trigger page Declaration C# Visual Basic public static Page CreateEventTriggerPage(string id, string name) Public Shared Function CreateEventTriggerPage(id As String, name As String) As Page Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description Page A new Page with its type set to EPageType.EventTrigger View Source CreateFeaturePage(String, String) Create a new feature page Declaration C# Visual Basic static Page CreateFeaturePage(string id, string name) Shared Function CreateFeaturePage(id As String, name As String) As Page Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description Page A new Page with its type set to EPageType.Feature View Source CreateGenericPage(String, String) Create a new, generic page Declaration C# Visual Basic public static Page CreateGenericPage(string id, string name) Public Shared Function CreateGenericPage(id As String, name As String) As Page Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description Page A new Page with its type set to EPageType.Generic View Source CreateGuidedProcessPage(String, String) Create a new guided process page Declaration C# Visual Basic static Page CreateGuidedProcessPage(string id, string name) Shared Function CreateGuidedProcessPage(id As String, name As String) As Page Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description Page A new Page with its type set to EPageType.Guide View Source CreateHtmlFeaturePage(String, String) Create a new HTML feature page Declaration C# Visual Basic static Page CreateHtmlFeaturePage(string id, string name) Shared Function CreateHtmlFeaturePage(id As String, name As String) As Page Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description Page A new Page with its type set to EPageType.FeatureHtml View Source CreateSettingPage(String, String) Create a new settings page Declaration C# Visual Basic [Obsolete(\"Please use CreateSettingsPage() now.\", false)] public static Page CreateSettingPage(string id, string name) <Obsolete(\"Please use CreateSettingsPage() now.\", False)> Public Shared Function CreateSettingPage(id As String, name As String) As Page Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description Page A new Page with its type set to EPageType.Settings View Source CreateSettingsPage(String, String) Create a new settings page Declaration C# Visual Basic public static Page CreateSettingsPage(string id, string name) Public Shared Function CreateSettingsPage(id As String, name As String) As Page Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description Page A new Page with its type set to EPageType.Settings View Source FromJsonString(String) Deserialize a JSON string to a page This should always be wrapped in a try/catch in case the data received is malformed Declaration C# Visual Basic [Obsolete(\"Please use Page.FromJsonString() instead\", true)] public static Page FromJsonString(string jsonString) <Obsolete(\"Please use Page.FromJsonString() instead\", True)> Public Shared Function FromJsonString(jsonString As String) As Page Parameters Type Name Description System.String jsonString The JSON string containing the page Returns Type Description Page A Page Exceptions Type Condition JsonDataException Thrown when there was a problem deserializing the page View Source JsonFromList(List<Page>) Serialize a list of pages to a JSON string Declaration C# Visual Basic [Obsolete] public static string JsonFromList(List<Page> pages) <Obsolete> Public Shared Function JsonFromList(pages As List(Of Page)) As String Parameters Type Name Description System.Collections.Generic.List < Page > pages the List of Pages to serialize Returns Type Description System.String A JSON string containing the serialized pages Exceptions Type Condition JsonDataException Thrown when there was a problem serializing the page View Source ListFromJson(String) Deserialize a JSON string to a List of Pages Declaration C# Visual Basic [Obsolete(\"Please use Page.ListFromJson() instead\", true)] public static List<Page> ListFromJson(string jsonString) <Obsolete(\"Please use Page.ListFromJson() instead\", True)> Public Shared Function ListFromJson(jsonString As String) As List(Of Page) Parameters Type Name Description System.String jsonString The JSON string containing the list of pages Returns Type Description System.Collections.Generic.List < Page > A List of Jui.Page objects Exceptions Type Condition JsonDataException Thrown when there was a problem deserializing the page View Source PageListToHtml(List<String>, Int32) Convert a list of JSON pages into a tabbed HTML page. Declaration C# Visual Basic [Obsolete(\"Please use a SettingsCollection instead\", true)] public static string PageListToHtml(List<string> jsonPages, int selectedPage = 0) <Obsolete(\"Please use a SettingsCollection instead\", True)> Public Shared Function PageListToHtml(jsonPages As List(Of String), selectedPage As Integer = 0) As String Parameters Type Name Description System.Collections.Generic.List < System.String > jsonPages A list of pages serialized as JSON strings System.Int32 selectedPage The index of the page that should be selected by default Returns Type Description System.String A string containing a tabbed HTML page Exceptions Type Condition System.ArgumentNullException Thrown if the supplied list of pages is null System.ArgumentException Thrown if the list of pages is empty"
},
"api/HomeSeer.Jui.Views.Page.html": {
"href": "api/HomeSeer.Jui.Views.Page.html",
"title": "Class Page | HomeSeer PluginSdk Docs",
"keywords": "Class Page C# Visual Basic public class Page Public Class Page Inheritance System.Object Page Inherited Members System.Object.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll A page is the primary container used to define a view for the user interface. Constructors View Source Page(String, String, EPageType) Create a new instance of a Page of the specified type with an ID and Name Declaration C# Visual Basic [JsonConstructor] Page(string id, string name, EPageType type) <JsonConstructor> Sub New(id As String, name As String, type As EPageType) Parameters Type Name Description System.String id The unique ID of the page System.String name The name of the page; the title shown to the user EPageType type The type of the page Exceptions Type Condition System.ArgumentNullException Thrown if a Page is created with an invalid ID or Name Fields View Source _viewIds A set of IDs for the views on this page. This is used to ensure that there are no duplicate IDs used. Declaration C# Visual Basic [JsonIgnore] Dictionary<string, int> _viewIds <JsonIgnore> _viewIds As Dictionary(Of String, Integer) Field Value Type Description System.Collections.Generic.Dictionary < System.String , System.Int32 > View Source _views The collection of views that are on this page. Declaration C# Visual Basic [JsonProperty(\"views\")] List<AbstractView> _views <JsonProperty(\"views\")> _views As List(Of AbstractView) Field Value Type Description System.Collections.Generic.List < AbstractView > Properties View Source Id A unique identifier for the page Declaration C# Visual Basic [JsonProperty(\"id\")] public string Id { get; protected set; } <JsonProperty(\"id\")> Public Property Id As String Property Value Type Description System.String View Source Image A Base64 encoded image used as an icon for this page Declaration C# Visual Basic [JsonProperty(\"image\")] public string Image { get; set; } <JsonProperty(\"image\")> Public Property Image As String Property Value Type Description System.String View Source Name The name that is displayed to the user for this page Declaration C# Visual Basic [JsonProperty(\"name\")] public string Name { get; protected set; } <JsonProperty(\"name\")> Public Property Name As String Property Value Type Description System.String View Source Type The page's type; this determines where this page will present itself to the user. Declaration C# Visual Basic [JsonProperty(\"type\")] public EPageType Type { get; protected set; } <JsonProperty(\"type\")> Public Property Type As EPageType Property Value Type Description EPageType View Source ViewCount The number of views that are on this page. Declaration C# Visual Basic [JsonIgnore] public int ViewCount { get; } <JsonIgnore> Public ReadOnly Property ViewCount As Integer Property Value Type Description System.Int32 View Source ViewIds A list of the IDs of the views in this group Declaration C# Visual Basic [JsonIgnore] public ReadOnlyCollection<string> ViewIds { get; } <JsonIgnore> Public ReadOnly Property ViewIds As ReadOnlyCollection(Of String) Property Value Type Description System.Collections.ObjectModel.ReadOnlyCollection < System.String > View Source Views The collection of views that are on this page. This is for access only. Use AddView(AbstractView) and UpdateViewById(AbstractView) for setting views/updating them Declaration C# Visual Basic [JsonIgnore] public ReadOnlyCollection<AbstractView> Views { get; } <JsonIgnore> Public ReadOnly Property Views As ReadOnlyCollection(Of AbstractView) Property Value Type Description System.Collections.ObjectModel.ReadOnlyCollection < AbstractView > Methods View Source AddView(AbstractView) Add a view to the page Declaration C# Visual Basic public void AddView(AbstractView view) Public Sub AddView(view As AbstractView) Parameters Type Name Description AbstractView view Exceptions Type Condition System.ArgumentNullException The view or its ID is null System.ArgumentException There is already a view with the same ID present in the collection System.InvalidOperationException Thrown when trying to add a ViewGroup to another ViewGroup ViewTypeMismatchException Thrown when a view group's type does not match its class View Source AddViewDelta(AbstractView, Object) Add a view change to the page Used to log value changes for views on settings, device config, event trigger and event action pages. This method performs a shallow copy of the original view and update it with the new value before adding it to the page. Declaration C# Visual Basic public void AddViewDelta(AbstractView originalView, object newValue) Public Sub AddViewDelta(originalView As AbstractView, newValue As Object) Parameters Type Name Description AbstractView originalView The original view before the change System.Object newValue The new value for the view Exceptions Type Condition System.ArgumentNullException A valid original view was not specified System.ArgumentOutOfRangeException The type or integer value is invalid System.ArgumentException The value type doesn't match the view type View Source AddViewDelta(String, Int32, Object) Add a view change to the page Used to log value changes for views on settings pages. All names are left blank Declaration C# Visual Basic public void AddViewDelta(string id, int type, object value) Public Sub AddViewDelta(id As String, type As Integer, value As Object) Parameters Type Name Description System.String id The id of the view System.Int32 type The EViewType of the view System.Object value The new value for the view Exceptions Type Condition System.ArgumentNullException A valid ID was not specified System.ArgumentOutOfRangeException The type or integer value is invalid System.ArgumentException The value type doesn't match the view type View Source AddViews(IEnumerable<AbstractView>) Add multiple views to the page Declaration C# Visual Basic public void AddViews(IEnumerable<AbstractView> views) Public Sub AddViews(views As IEnumerable(Of AbstractView)) Parameters Type Name Description System.Collections.Generic.IEnumerable < AbstractView > views Exceptions Type Condition System.ArgumentNullException The list of views is null View Source ContainsViewWithId(String) Check to see if a view with a specific ID is present in a collection Declaration C# Visual Basic public bool ContainsViewWithId(string viewId) Public Function ContainsViewWithId(viewId As String) As Boolean Parameters Type Name Description System.String viewId Returns Type Description System.Boolean TRUE if the view exists in the collection; FALSE if it does not exist in the collection Exceptions Type Condition System.ArgumentNullException The viewId to look for is NULL System.IndexOutOfRangeException The ID was found, but the view is not in the collection View Source Equals(Object) Compares the Id, Name, and the number of views Declaration C# Visual Basic public override bool Equals(object obj) Public Overrides Function Equals(obj As Object) As Boolean Parameters Type Name Description System.Object obj Returns Type Description System.Boolean Overrides System.Object.Equals(System.Object) View Source FromJsonString(String) Deserialize a JSON string to a page This should always be wrapped in a try/catch in case the data received is malformed Declaration C# Visual Basic public static Page FromJsonString(string jsonString) Public Shared Function FromJsonString(jsonString As String) As Page Parameters Type Name Description System.String jsonString The JSON string containing the page Returns Type Description Page A Page Exceptions Type Condition JsonDataException Thrown when there was a problem deserializing the page View Source GetHashCode() Compares the Id, Name, and the number of views Declaration C# Visual Basic public override int GetHashCode() Public Overrides Function GetHashCode As Integer Returns Type Description System.Int32 Overrides System.Object.GetHashCode() View Source GetViewById(String) Get the view on the page with the given ID Declaration C# Visual Basic public AbstractView GetViewById(string viewId) Public Function GetViewById(viewId As String) As AbstractView Parameters Type Name Description System.String viewId The ID of the view to get Returns Type Description AbstractView The view with the specified ID as an AbstractView . This should be cast to the appropriate view type before use. Exceptions Type Condition System.ArgumentNullException An invalid view ID was entered System.ArgumentException No views are on the page to get System.IndexOutOfRangeException The ID was found, but the view was not. The page is probably malformed and should be recreated. System.Collections.Generic.KeyNotFoundException No views with that ID were found View Source GetViewById<TViewType>(String) Get the view with a specific ID from a collection cast as the target type Declaration C# Visual Basic public TViewType GetViewById<TViewType>(string viewId) where TViewType : AbstractView Public Function GetViewById(Of TViewType As AbstractView)(viewId As String) As TViewType Parameters Type Name Description System.String viewId The ID of the view to get Returns Type Description TViewType The view with the specified ID cast as the target type. Type Parameters Name Description TViewType Exceptions Type Condition System.ArgumentNullException An invalid view ID was entered System.ArgumentException No views are on the page to get System.IndexOutOfRangeException The ID was found, but the view was not. The page is probably malformed and should be recreated. System.Collections.Generic.KeyNotFoundException No views with that ID were found View Source ListFromJson(String) Deserialize a JSON string to a List of Pages Declaration C# Visual Basic public static List<Page> ListFromJson(string jsonString) Public Shared Function ListFromJson(jsonString As String) As List(Of Page) Parameters Type Name Description System.String jsonString The JSON string containing the list of pages Returns Type Description System.Collections.Generic.List < Page > A List of Jui.Page objects Exceptions Type Condition JsonDataException Thrown when there was a problem deserializing the page View Source MapViewIds() Build a map of view IDs and list indexes for a collection of views Declaration C# Visual Basic void MapViewIds() Sub MapViewIds Exceptions Type Condition System.ArgumentNullException The list of views to map is null View Source RemoveAllViews() Clear a collection of views Declaration C# Visual Basic public void RemoveAllViews() Public Sub RemoveAllViews View Source RemoveViewById(String) Remove a view with the specified ID from the collection. Remaining views at indexes greater than the specified view will be moved down one index to fill the empty space Declaration C# Visual Basic public void RemoveViewById(string viewId) Public Sub RemoveViewById(viewId As String) Parameters Type Name Description System.String viewId Exceptions Type Condition System.ArgumentNullException Thrown when any of the supplied parameters is null of empty System.ArgumentException Thrown when the number of items in the viewList and viewIds do not match System.Collections.Generic.KeyNotFoundException Thrown when a view with the specified ID was not found View Source RemoveViewsAfterId(String) Trim all views in the collection following the view with the specified ID Declaration C# Visual Basic public void RemoveViewsAfterId(string viewId) Public Sub RemoveViewsAfterId(viewId As String) Parameters Type Name Description System.String viewId Exceptions Type Condition System.ArgumentNullException Thrown when any of the supplied parameters is null of empty System.ArgumentException Thrown when the number of items in the viewList and viewIds do not match View Source SetViews(IEnumerable<AbstractView>) Set the list of views on this page Declaration C# Visual Basic public void SetViews(IEnumerable<AbstractView> views) Public Sub SetViews(views As IEnumerable(Of AbstractView)) Parameters Type Name Description System.Collections.Generic.IEnumerable < AbstractView > views Exceptions Type Condition System.ArgumentNullException The list of views is null View Source ToHtml(Int32) Get a string representation of this page converted into HTML Declaration C# Visual Basic public string ToHtml(int indent = 0) Public Function ToHtml(indent As Integer = 0) As String Parameters Type Name Description System.Int32 indent Returns Type Description System.String An HTML representation of the page as a string View Source ToJsonString() Serialize the page as JSON Declaration C# Visual Basic public string ToJsonString() Public Function ToJsonString As String Returns Type Description System.String A string containing the page formatted as JSON View Source ToValueMap() Get a dictionary mapping IDs to values for the views on this page with mutable values. These include: InputViews, SelectListViews, and ToggleViews Declaration C# Visual Basic public Dictionary<string, string> ToValueMap() Public Function ToValueMap As Dictionary(Of String, String) Returns Type Description System.Collections.Generic.Dictionary < System.String , System.String > A Dictionary of view IDs to view values View Source UpdateViewById(AbstractView) Perform a soft update to a view in a collection with a particular ID Declaration C# Visual Basic public void UpdateViewById(AbstractView view) Public Sub UpdateViewById(view As AbstractView) Parameters Type Name Description AbstractView view Exceptions Type Condition System.ArgumentNullException The viewId to look for is NULL System.IndexOutOfRangeException The ID was found, but the view is not in the collection System.ArgumentException There are no views in the collection ViewNotFoundException No views with that ID were found in the collection View Source UpdateViewValueById(String, String) Declaration C# Visual Basic public void UpdateViewValueById(string id, string value) Public Sub UpdateViewValueById(id As String, value As String) Parameters Type Name Description System.String id System.String value"
},
"api/HomeSeer.Jui.Views.PageFactory.html": {
"href": "api/HomeSeer.Jui.Views.PageFactory.html",
"title": "Class PageFactory | HomeSeer PluginSdk Docs",
"keywords": "Class PageFactory C# Visual Basic public class PageFactory Public Class PageFactory Inheritance System.Object PageFactory Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll A factory class for creating pages in a more streamlined way Properties View Source Page The page being created Declaration C# Visual Basic public Page Page { get; } Public ReadOnly Property Page As Page Property Value Type Description Page Methods View Source CopyPage(Page) Declaration C# Visual Basic public static PageFactory CopyPage(Page page) Public Shared Function CopyPage(page As Page) As PageFactory Parameters Type Name Description Page page Returns Type Description PageFactory View Source CreateDeviceConfigPage(String, String) Create a new device configuration page Declaration C# Visual Basic public static PageFactory CreateDeviceConfigPage(string id, string name) Public Shared Function CreateDeviceConfigPage(id As String, name As String) As PageFactory Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description PageFactory A new PageFactory containing a page with its type set to EPageType.DeviceConfig View Source CreateEventActionPage(String, String) Create a new, event action page Declaration C# Visual Basic public static PageFactory CreateEventActionPage(string id, string name) Public Shared Function CreateEventActionPage(id As String, name As String) As PageFactory Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description PageFactory A new PageFactory containing a page with its type set to EPageType.EventAction View Source CreateEventTriggerPage(String, String) Create a new, event trigger page Declaration C# Visual Basic public static PageFactory CreateEventTriggerPage(string id, string name) Public Shared Function CreateEventTriggerPage(id As String, name As String) As PageFactory Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description PageFactory A new PageFactory containing a page with its type set to EPageType.EventTrigger View Source CreateGenericPage(String, String) Create a new, generic page Declaration C# Visual Basic public static PageFactory CreateGenericPage(string id, string name) Public Shared Function CreateGenericPage(id As String, name As String) As PageFactory Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description PageFactory A new PageFactory containing a page with its type set to EPageType.Generic View Source CreateSettingsPage(String, String) Create a new settings page Declaration C# Visual Basic public static PageFactory CreateSettingsPage(string id, string name) Public Shared Function CreateSettingsPage(id As String, name As String) As PageFactory Parameters Type Name Description System.String id The ID for the page System.String name The name of the page Returns Type Description PageFactory A new PageFactory containing a page with its type set to EPageType.Settings View Source WithCheckBox(String, String, Boolean) Declaration C# Visual Basic public PageFactory WithCheckBox(string id, string name, bool isEnabled = false) Public Function WithCheckBox(id As String, name As String, isEnabled As Boolean = False) As PageFactory Parameters Type Name Description System.String id System.String name System.Boolean isEnabled Returns Type Description PageFactory View Source WithDropDownSelectList(String, String, List<String>, List<String>, Int32) Declaration C# Visual Basic public PageFactory WithDropDownSelectList(string id, string name, List<string> options, List<string> optionKeys, int selection = -1) Public Function WithDropDownSelectList(id As String, name As String, options As List(Of String), optionKeys As List(Of String), selection As Integer = -1) As PageFactory Parameters Type Name Description System.String id System.String name System.Collections.Generic.List < System.String > options System.Collections.Generic.List < System.String > optionKeys System.Int32 selection Returns Type Description PageFactory View Source WithDropDownSelectList(String, String, List<String>, Int32) Declaration C# Visual Basic public PageFactory WithDropDownSelectList(string id, string name, List<string> options, int selection = -1) Public Function WithDropDownSelectList(id As String, name As String, options As List(Of String), selection As Integer = -1) As PageFactory Parameters Type Name Description System.String id System.String name System.Collections.Generic.List < System.String > options System.Int32 selection Returns Type Description PageFactory View Source WithGroup(String, String, IEnumerable<AbstractView>) Declaration C# Visual Basic public PageFactory WithGroup(string id, string name, IEnumerable<AbstractView> views) Public Function WithGroup(id As String, name As String, views As IEnumerable(Of AbstractView)) As PageFactory Parameters Type Name Description System.String id System.String name System.Collections.Generic.IEnumerable < AbstractView > views Returns Type Description PageFactory View Source WithInput(String, String, EInputType) Declaration C# Visual Basic public PageFactory WithInput(string id, string name, EInputType type = EInputType.Text) Public Function WithInput(id As String, name As String, type As EInputType = EInputType.Text) As PageFactory Parameters Type Name Description System.String id System.String name EInputType type Returns Type Description PageFactory View Source WithInput(String, String, String, EInputType) Declaration C# Visual Basic public PageFactory WithInput(string id, string name, string value, EInputType type = EInputType.Text) Public Function WithInput(id As String, name As String, value As String, type As EInputType = EInputType.Text) As PageFactory Parameters Type Name Description System.String id System.String name System.String value EInputType type Returns Type Description PageFactory View Source WithLabel(String, String) Declaration C# Visual Basic public PageFactory WithLabel(string id, string name) Public Function WithLabel(id As String, name As String) As PageFactory Parameters Type Name Description System.String id System.String name Returns Type Description PageFactory View Source WithLabel(String, String, String) Declaration C# Visual Basic public PageFactory WithLabel(string id, string name, string value = \"\") Public Function WithLabel(id As String, name As String, value As String = \"\") As PageFactory Parameters Type Name Description System.String id System.String name System.String value Returns Type Description PageFactory View Source WithRadioSelectList(String, String, List<String>, List<String>, Int32) Declaration C# Visual Basic public PageFactory WithRadioSelectList(string id, string name, List<string> options, List<string> optionKeys, int selection = -1) Public Function WithRadioSelectList(id As String, name As String, options As List(Of String), optionKeys As List(Of String), selection As Integer = -1) As PageFactory Parameters Type Name Description System.String id System.String name System.Collections.Generic.List < System.String > options System.Collections.Generic.List < System.String > optionKeys System.Int32 selection Returns Type Description PageFactory View Source WithRadioSelectList(String, String, List<String>, Int32) Declaration C# Visual Basic public PageFactory WithRadioSelectList(string id, string name, List<string> options, int selection = -1) Public Function WithRadioSelectList(id As String, name As String, options As List(Of String), selection As Integer = -1) As PageFactory Parameters Type Name Description System.String id System.String name System.Collections.Generic.List < System.String > options System.Int32 selection Returns Type Description PageFactory View Source WithTextArea(String, String, Int32) Declaration C# Visual Basic public PageFactory WithTextArea(string id, string name, int rows = 5) Public Function WithTextArea(id As String, name As String, rows As Integer = 5) As PageFactory Parameters Type Name Description System.String id System.String name System.Int32 rows Returns Type Description PageFactory View Source WithTextArea(String, String, String, Int32) Declaration C# Visual Basic public PageFactory WithTextArea(string id, string name, string value, int rows = 5) Public Function WithTextArea(id As String, name As String, value As String, rows As Integer = 5) As PageFactory Parameters Type Name Description System.String id System.String name System.String value System.Int32 rows Returns Type Description PageFactory View Source WithTimeSpan(String, String, TimeSpan, Boolean, Boolean) Declaration C# Visual Basic public PageFactory WithTimeSpan(string id, string name, TimeSpan timeSpan = default(TimeSpan), bool showDays = true, bool showSeconds = true) Public Function WithTimeSpan(id As String, name As String, timeSpan As TimeSpan = Nothing, showDays As Boolean = True, showSeconds As Boolean = True) As PageFactory Parameters Type Name Description System.String id System.String name System.TimeSpan timeSpan System.Boolean showDays System.Boolean showSeconds Returns Type Description PageFactory View Source WithToggle(String, String, Boolean) Declaration C# Visual Basic public PageFactory WithToggle(string id, string name, bool isEnabled = false) Public Function WithToggle(id As String, name As String, isEnabled As Boolean = False) As PageFactory Parameters Type Name Description System.String id System.String name System.Boolean isEnabled Returns Type Description PageFactory View Source WithView(AbstractView) Declaration C# Visual Basic public PageFactory WithView(AbstractView view) Public Function WithView(view As AbstractView) As PageFactory Parameters Type Name Description AbstractView view Returns Type Description PageFactory"
},
"api/HomeSeer.Jui.Views.SelectListView.html": {
"href": "api/HomeSeer.Jui.Views.SelectListView.html",
"title": "Class SelectListView | HomeSeer PluginSdk Docs",
"keywords": "Class SelectListView C# Visual Basic public sealed class SelectListView : AbstractView Public NotInheritable Class SelectListView Inherits AbstractView Inheritance System.Object AbstractView SelectListView Inherited Members AbstractView.Id AbstractView.Name AbstractView.Type AbstractView.HtmlIndent AbstractView.NonAllowedCharactersForId AbstractView.GetIndentStringFromNumber(Int32) AbstractView.IdContainsNonAllowedCharacters() AbstractView.ShallowCopy() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll A selection list allows a user to pick a value from a predefined collection. Constructors View Source SelectListView(String, String, List<String>, ESelectListType, Int32) Create a new instance of a select list with the default, drop down style, an ID, Name, and the specified list of options Declaration C# Visual Basic [JsonConstructor] public SelectListView(string id, string name, List<string> options, ESelectListType style = ESelectListType.DropDown, int selection = -1) <JsonConstructor> Public Sub New(id As String, name As String, options As List(Of String), style As ESelectListType = ESelectListType.DropDown, selection As Integer = -1) Parameters Type Name Description System.String id The unique ID for this View System.String name The name of the view System.Collections.Generic.List < System.String > options The list of options ESelectListType style The display style of the select list. DEFAULT: drop down System.Int32 selection The index of the currently selected option in the list. DEFAULT: 0 Exceptions Type Condition System.ArgumentNullException Thrown if select list is create with an invalid list of options System.ArgumentOutOfRangeException Thrown if select list is created with an invalid index for the currently selected option View Source SelectListView(String, String, List<String>, List<String>, ESelectListType, Int32) Create a new instance of a select list with the default, drop down style, an ID, Name, and the specified list of options and keys Declaration C# Visual Basic public SelectListView(string id, string name, List<string> options, List<string> optionKeys, ESelectListType style = ESelectListType.DropDown, int selection = -1) Public Sub New(id As String, name As String, options As List(Of String), optionKeys As List(Of String), style As ESelectListType = ESelectListType.DropDown, selection As Integer = -1) Parameters Type Name Description System.String id The unique ID for this View System.String name The name of the view System.Collections.Generic.List < System.String > options The list of options System.Collections.Generic.List < System.String > optionKeys The list of keys corresponding to the list of options ESelectListType style The display style of the select list. DEFAULT: drop down System.Int32 selection The index of the currently selected option in the list. DEFAULT: 0 Exceptions Type Condition System.ArgumentNullException Thrown if select list is create with an invalid list of options System.ArgumentOutOfRangeException Thrown if select list is created with an invalid index for the currently selected option Fields View Source _selection Declaration C# Visual Basic int _selection _selection As Integer Field Value Type Description System.Int32 Properties View Source DefaultSelectionText The text displayed when Selection equals -1. If this property is null or empty, \"Select an option\" is displayed. Declaration C# Visual Basic [JsonProperty(\"default_selection_text\")] public string DefaultSelectionText { get; set; } <JsonProperty(\"default_selection_text\")> Public Property DefaultSelectionText As String Property Value Type Description System.String Remarks This property is not used when Style is RadioList View Source OptionKeys A list of keys that corresponds to the Options list. For internal use by a plugin. This is not displayed or used in any fashion otherwise. Declaration C# Visual Basic [JsonProperty(\"keys\")] public List<string> OptionKeys { get; } <JsonProperty(\"keys\")> Public ReadOnly Property OptionKeys As List(Of String) Property Value Type Description System.Collections.Generic.List < System.String > View Source Options A list of options that the user can select from Declaration C# Visual Basic [JsonProperty(\"options\")] public List<string> Options { get; } <JsonProperty(\"options\")> Public ReadOnly Property Options As List(Of String) Property Value Type Description System.Collections.Generic.List < System.String > View Source Selection The index of the currently selected option in the list. This is the value for this view. Declaration C# Visual Basic [JsonProperty(\"selection\")] public int Selection { get; set; } <JsonProperty(\"selection\")> Public Property Selection As Integer Property Value Type Description System.Int32 Remarks Set this to -1 to display a default \"Select an option\" text Exceptions Type Condition System.ArgumentOutOfRangeException Thrown when the selection is set to an index that does not work for the current Options View Source Style The display style for the list of options Declaration C# Visual Basic [JsonProperty(\"style\")] public ESelectListType Style { get; set; } <JsonProperty(\"style\")> Public Property Style As ESelectListType Property Value Type Description ESelectListType View Source UseOptionKeyAsSelectionValue When this property is true, GetStringValue() returns the selected option key instead of the selected option index, and UpdateValue(String) expects an option key as parameter instead of an option index. Declaration C# Visual Basic [JsonProperty(\"use_option_key_as_selection_value\")] public bool UseOptionKeyAsSelectionValue { get; set; } <JsonProperty(\"use_option_key_as_selection_value\")> Public Property UseOptionKeyAsSelectionValue As Boolean Property Value Type Description System.Boolean Methods View Source GetSelectedOption() Get the currently selected option text. Declaration C# Visual Basic public string GetSelectedOption() Public Function GetSelectedOption As String Returns Type Description System.String The text of the option at the index specified by Selection . View Source GetSelectedOptionKey() Get the currently selected option key Declaration C# Visual Basic public string GetSelectedOptionKey() Public Function GetSelectedOptionKey As String Returns Type Description System.String The key of the option at the index specified by Selection . View Source GetStringValue() Get the value associated with this view as a string if there is one. Declaration C# Visual Basic public override string GetStringValue() Public Overrides Function GetStringValue As String Returns Type Description System.String The value stored in this view as a string or NULL if there is no value stored. Overrides AbstractView.GetStringValue() Remarks Returns the selected option key if UseOptionKeyAsSelectionValue is true, else returns the selected index as a string View Source ToHtml(Int32) Get a string representation of this view converted into HTML Declaration C# Visual Basic public override string ToHtml(int indent = 0) Public Overrides Function ToHtml(indent As Integer = 0) As String Parameters Type Name Description System.Int32 indent Returns Type Description System.String An HTML representation of the view as a string Overrides AbstractView.ToHtml(Int32) View Source Update(AbstractView) Update the view to the new state. This will change the selected option Declaration C# Visual Basic public override void Update(AbstractView newViewState) Public Overrides Sub Update(newViewState As AbstractView) Parameters Type Name Description AbstractView newViewState The new state of the view being updated. This view's ID and Type must match the calling view exactly Overrides AbstractView.Update(AbstractView) Exceptions Type Condition ViewTypeMismatchException Thrown when the new view's class doesn't match the calling view View Source UpdateValue(String) Update the value of the view Declaration C# Visual Basic public override void UpdateValue(string value) Public Overrides Sub UpdateValue(value As String) Parameters Type Name Description System.String value The new value Overrides AbstractView.UpdateValue(String) Exceptions Type Condition System.FormatException Thrown when the value is not in the correct format"
},
"api/HomeSeer.Jui.Views.SettingsCollection.html": {
"href": "api/HomeSeer.Jui.Views.SettingsCollection.html",
"title": "Class SettingsCollection | HomeSeer PluginSdk Docs",
"keywords": "Class SettingsCollection C# Visual Basic public class SettingsCollection : IEnumerable<Page>, IEnumerable Public Class SettingsCollection Implements IEnumerable(Of Page), IEnumerable Inheritance System.Object SettingsCollection Implements System.Collections.Generic.IEnumerable < Page > System.Collections.IEnumerable Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll A collection of JUI settings pages. Remarks This is the primary container for settings pages used by plugins. It is integrated into the AbstractPlugin class and automatically initialized to an empty collection. Constructors View Source SettingsCollection() Default, empty constructor Declaration C# Visual Basic public SettingsCollection() Public Sub New View Source SettingsCollection(List<Page>) Create a new SettingsCollection with the given list of pages Declaration C# Visual Basic [JsonConstructor] public SettingsCollection(List<Page> pages) <JsonConstructor> Public Sub New(pages As List(Of Page)) Parameters Type Name Description System.Collections.Generic.List < Page > pages The list of pages for the collection See Also Page Fields View Source _hiddenPages Declaration C# Visual Basic [JsonIgnore] Dictionary<string, Page> _hiddenPages <JsonIgnore> _hiddenPages As Dictionary(Of String, Page) Field Value Type Description System.Collections.Generic.Dictionary < System.String , Page > View Source _pageOrder Declaration C# Visual Basic [JsonIgnore] List<string> _pageOrder <JsonIgnore> _pageOrder As List(Of String) Field Value Type Description System.Collections.Generic.List < System.String > View Source _pages Declaration C# Visual Basic [JsonIgnore] Dictionary<string, Page> _pages <JsonIgnore> _pages As Dictionary(Of String, Page) Field Value Type Description System.Collections.Generic.Dictionary < System.String , Page > Properties View Source AllPages The list of all of the pages in the collection, including hidden ones. Declaration C# Visual Basic [JsonIgnore] public List<Page> AllPages { get; } <JsonIgnore> Public ReadOnly Property AllPages As List(Of Page) Property Value Type Description System.Collections.Generic.List < Page > View Source Count The number of pages in this collection Declaration C# Visual Basic [JsonIgnore] public int Count { get; } <JsonIgnore> Public ReadOnly Property Count As Integer Property Value Type Description System.Int32 View Source Item[String] Get the page with the specified ID Declaration C# Visual Basic public Page this[string pageId] { get; set; } Public Property Item(pageId As String) As Page Parameters Type Name Description System.String pageId The ID of the desired page Property Value Type Description Page See Also Page View Source Pages The list of pages in this collection, excluding hidden pages. Declaration C# Visual Basic [JsonProperty(\"pages\")] public List<Page> Pages { get; set; } <JsonProperty(\"pages\")> Public Property Pages As List(Of Page) Property Value Type Description System.Collections.Generic.List < Page > See Also Page View Source SelectedPageIndex The index of the page that is selected and will be shown first to users Declaration C# Visual Basic [JsonProperty(\"selected_page\")] public int SelectedPageIndex { get; set; } <JsonProperty(\"selected_page\")> Public Property SelectedPageIndex As Integer Property Value Type Description System.Int32 Methods View Source Add(Page) Add a page to the collection Declaration C# Visual Basic public void Add(Page page) Public Sub Add(page As Page) Parameters Type Name Description Page page The page to add. Should be a page of type Settings Exceptions Type Condition System.ArgumentNullException The supplied page or its ID is null System.ArgumentException Thrown if a page with the same ID already exists in the collection See Also Page View Source ContainsPageId(String) Determine if the collection contains a page with the specified ID Declaration C# Visual Basic public bool ContainsPageId(string pageId) Public Function ContainsPageId(pageId As String) As Boolean Parameters Type Name Description System.String pageId The ID of the page to look for Returns Type Description System.Boolean TRUE if the collection contains the page, FALSE if the page was not found Exceptions Type Condition System.ArgumentNullException Thrown when pageId is null or whitespace View Source FromJsonString(String) Deserialize a JSON string to a settings collection This should always be wrapped in a try/catch in case the data received is malformed Declaration C# Visual Basic public static SettingsCollection FromJsonString(string jsonString) Public Shared Function FromJsonString(jsonString As String) As SettingsCollection Parameters Type Name Description System.String jsonString The JSON string containing the settings collection Returns Type Description SettingsCollection A SettingsCollection Exceptions Type Condition JsonDataException Thrown when there was a problem deserializing the settings collection View Source GetEnumerator() Declaration C# Visual Basic public IEnumerator<Page> GetEnumerator() Public Function GetEnumerator As IEnumerator(Of Page) Returns Type Description System.Collections.Generic.IEnumerator < Page > View Source HidePageById(String) Mark the page with the specified ID as hidden when the collection is converted to HTML so that it is not included. Declaration C# Visual Basic public void HidePageById(string pageId) Public Sub HidePageById(pageId As String) Parameters Type Name Description System.String pageId The ID of the page to hide Exceptions Type Condition System.ArgumentNullException Thrown when an invalid page ID is specified System.Collections.Generic.KeyNotFoundException Thrown when a page with the specified ID doesn't exist View Source IndexOf(String) Get the index of the page with the specified ID Declaration C# Visual Basic public int IndexOf(string pageId) Public Function IndexOf(pageId As String) As Integer Parameters Type Name Description System.String pageId The ID of the page to look for Returns Type Description System.Int32 Exceptions Type Condition System.ArgumentNullException Thrown when pageId is null or whitespace System.Collections.Generic.KeyNotFoundException Thrown when the pageId was not found in the collection View Source RemoveAll() Remove all pages from the collection Declaration C# Visual Basic public void RemoveAll() Public Sub RemoveAll View Source RemoveById(String) Remove the page with the specified ID from the collection Declaration C# Visual Basic public void RemoveById(string pageId) Public Sub RemoveById(pageId As String) Parameters Type Name Description System.String pageId The ID of the page to remove Exceptions Type Condition System.ArgumentNullException Thrown when pageId is null or whitespace System.Collections.Generic.KeyNotFoundException Thrown when the pageId was not found in the collection View Source ShowPageById(String) Mark the page with the specified ID as shown when the collection is converted to HTML so that it is included. Declaration C# Visual Basic public void ShowPageById(string pageId) Public Sub ShowPageById(pageId As String) Parameters Type Name Description System.String pageId The ID of the page to show Exceptions Type Condition System.ArgumentNullException Thrown when an invalid page ID is specified System.Collections.Generic.KeyNotFoundException Thrown when a page with the specified ID doesn't exist View Source Swap(Int32, Int32) Swap the pages at the specified indexes Declaration C# Visual Basic public void Swap(int index1, int index2) Public Sub Swap(index1 As Integer, index2 As Integer) Parameters Type Name Description System.Int32 index1 The index of the first page System.Int32 index2 The index of the second page Remarks When this method finishes, the page at index1 will be located at index2, and the page at index2 will be located at index1. Exceptions Type Condition System.ArgumentOutOfRangeException Thrown if either index is out of range of the collection View Source ToHtml() Convert the settings collection into a tabbed HTML page. Declaration C# Visual Basic public string ToHtml() Public Function ToHtml As String Returns Type Description System.String A string containing a tabbed HTML page Exceptions Type Condition System.ArgumentNullException Thrown if the list of pages is null System.ArgumentException Thrown if the list of pages is empty View Source ToJsonString() Serialize the settings collection as JSON Declaration C# Visual Basic public string ToJsonString() Public Function ToJsonString As String Returns Type Description System.String A string containing the settings collection formatted as JSON Explicit Interface Implementations View Source IEnumerable.GetEnumerator() Declaration C# Visual Basic IEnumerator IEnumerable.GetEnumerator() Function System.Collections.IEnumerable.GetEnumerator As IEnumerator Implements IEnumerable.GetEnumerator Returns Type Description System.Collections.IEnumerator Implements System.Collections.Generic.IEnumerable<T> System.Collections.IEnumerable See Also Page"
},
"api/HomeSeer.Jui.Views.TextAreaView.html": {
"href": "api/HomeSeer.Jui.Views.TextAreaView.html",
"title": "Class TextAreaView | HomeSeer PluginSdk Docs",
"keywords": "Class TextAreaView C# Visual Basic public sealed class TextAreaView : AbstractView Public NotInheritable Class TextAreaView Inherits AbstractView Inheritance System.Object AbstractView TextAreaView Inherited Members AbstractView.Id AbstractView.Name AbstractView.Type AbstractView.HtmlIndent AbstractView.NonAllowedCharactersForId AbstractView.GetIndentStringFromNumber(Int32) AbstractView.IdContainsNonAllowedCharacters() AbstractView.ShallowCopy() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll A text area view is an editable text box for the user to enter a large volume of text Constructors View Source TextAreaView(String, String, Int32) Create a new instance of an TextAreaView with an ID, a Name, and the number of rows. Declaration C# Visual Basic [JsonConstructor] public TextAreaView(string id, string name, int rows = 5) <JsonConstructor> Public Sub New(id As String, name As String, rows As Integer = 5) Parameters Type Name Description System.String id The unique ID for the View System.String name The name of the View System.Int32 rows The number of text rows in the text area. DEFAULT: 5 Exceptions Type Condition System.ArgumentOutOfRangeException Thrown when the number of rows is set to an invalid value View Source TextAreaView(String, String, String, Int32) Create a new instance of an TextAreaView with an ID, a Name, a Value, and the number of rows. Declaration C# Visual Basic public TextAreaView(string id, string name, string value, int rows = 5) Public Sub New(id As String, name As String, value As String, rows As Integer = 5) Parameters Type Name Description System.String id The unique ID for the View System.String name The name of the View System.String value The value inputted into the field System.Int32 rows The number of text rows in the text area. DEFAULT: 5 Exceptions Type Condition System.ArgumentOutOfRangeException Thrown when the number of rows is set to an invalid value Fields View Source _rows Declaration C# Visual Basic int _rows _rows As Integer Field Value Type Description System.Int32 Properties View Source Rows The number of text rows displayed. Must be >= 1 Declaration C# Visual Basic [JsonProperty(\"rows\")] public int Rows { get; set; } <JsonProperty(\"rows\")> Public Property Rows As Integer Property Value Type Description System.Int32 Exceptions Type Condition System.ArgumentOutOfRangeException Thrown when the number of rows is set to an invalid value View Source Value The current value of the field Declaration C# Visual Basic [JsonProperty(\"value\")] public string Value { get; set; } <JsonProperty(\"value\")> Public Property Value As String Property Value Type Description System.String Methods View Source GetStringValue() Get the value associated with this view as a string if there is one. Declaration C# Visual Basic public override string GetStringValue() Public Overrides Function GetStringValue As String Returns Type Description System.String The value stored in this view as a string or NULL if there is no value stored. Overrides AbstractView.GetStringValue() Remarks The same as Value View Source ToHtml(Int32) Get a string representation of this view converted into HTML Declaration C# Visual Basic public override string ToHtml(int indent = 0) Public Overrides Function ToHtml(indent As Integer = 0) As String Parameters Type Name Description System.Int32 indent Returns Type Description System.String An HTML representation of the view as a string Overrides AbstractView.ToHtml(Int32) View Source Update(AbstractView) Update the view to the new state. This will change the inputted value Declaration C# Visual Basic public override void Update(AbstractView newViewState) Public Overrides Sub Update(newViewState As AbstractView) Parameters Type Name Description AbstractView newViewState The new state of the view being updated. This view's ID and Type must match the calling view exactly Overrides AbstractView.Update(AbstractView) Exceptions Type Condition ViewTypeMismatchException Thrown when the new view's class doesn't match the calling view View Source UpdateValue(String) Update the value of the view Declaration C# Visual Basic public override void UpdateValue(string value) Public Overrides Sub UpdateValue(value As String) Parameters Type Name Description System.String value The new value Overrides AbstractView.UpdateValue(String)"
},
"api/HomeSeer.Jui.Views.TimeSpanView.html": {
"href": "api/HomeSeer.Jui.Views.TimeSpanView.html",
"title": "Class TimeSpanView | HomeSeer PluginSdk Docs",
"keywords": "Class TimeSpanView C# Visual Basic public sealed class TimeSpanView : AbstractView Public NotInheritable Class TimeSpanView Inherits AbstractView Inheritance System.Object AbstractView TimeSpanView Inherited Members AbstractView.Id AbstractView.Name AbstractView.Type AbstractView.HtmlIndent AbstractView.NonAllowedCharactersForId AbstractView.GetIndentStringFromNumber(Int32) AbstractView.IdContainsNonAllowedCharacters() AbstractView.ShallowCopy() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll A time span allows user to enter a time interval in days, hours, minutes and seconds Constructors View Source TimeSpanView(String, String) Create a new instance of an TimeSpanView with an ID and a Name Declaration C# Visual Basic [JsonConstructor] public TimeSpanView(string id, string name) <JsonConstructor> Public Sub New(id As String, name As String) Parameters Type Name Description System.String id The unique ID for the View System.String name The name of the View Exceptions Type Condition System.ArgumentNullException Thrown if a view is created with an invalid ID View Source TimeSpanView(String, String, TimeSpan) Create a new instance of an InputView with an ID, a Name, and a value. Declaration C# Visual Basic public TimeSpanView(string id, string name, TimeSpan value) Public Sub New(id As String, name As String, value As TimeSpan) Parameters Type Name Description System.String id The unique ID for the View System.String name The name of the View System.TimeSpan value The time span value Properties View Source ShowDays Wether a number of days can be entered Declaration C# Visual Basic [JsonProperty(\"show_days\")] public bool ShowDays { get; set; } <JsonProperty(\"show_days\")> Public Property ShowDays As Boolean Property Value Type Description System.Boolean View Source ShowSeconds Wether a number of seconds can be entered Declaration C# Visual Basic [JsonProperty(\"show_seconds\")] public bool ShowSeconds { get; set; } <JsonProperty(\"show_seconds\")> Public Property ShowSeconds As Boolean Property Value Type Description System.Boolean View Source Value The current value of the field Declaration C# Visual Basic [JsonProperty(\"value\")] public TimeSpan Value { get; set; } <JsonProperty(\"value\")> Public Property Value As TimeSpan Property Value Type Description System.TimeSpan Methods View Source GetStringValue() Get the value associated with this view as a string if there is one. Declaration C# Visual Basic public override string GetStringValue() Public Overrides Function GetStringValue As String Returns Type Description System.String The value stored in this view as a string or NULL if there is no value stored. Overrides AbstractView.GetStringValue() Remarks The same as Value View Source ToHtml(Int32) Get a string representation of this view converted into HTML Declaration C# Visual Basic public override string ToHtml(int indent = 0) Public Overrides Function ToHtml(indent As Integer = 0) As String Parameters Type Name Description System.Int32 indent Returns Type Description System.String An HTML representation of the view as a string Overrides AbstractView.ToHtml(Int32) View Source Update(AbstractView) Update the view to the new state. This will change the time span value Declaration C# Visual Basic public override void Update(AbstractView newViewState) Public Overrides Sub Update(newViewState As AbstractView) Parameters Type Name Description AbstractView newViewState The new state of the view being updated. This view's ID and Type must match the calling view exactly Overrides AbstractView.Update(AbstractView) Exceptions Type Condition ViewTypeMismatchException Thrown when the new view's class doesn't match the calling view View Source UpdateValue(String) Update the value of the view Declaration C# Visual Basic public override void UpdateValue(string value) Public Overrides Sub UpdateValue(value As String) Parameters Type Name Description System.String value The new value Overrides AbstractView.UpdateValue(String)"
},
"api/HomeSeer.Jui.Views.ToggleView.html": {
"href": "api/HomeSeer.Jui.Views.ToggleView.html",
"title": "Class ToggleView | HomeSeer PluginSdk Docs",
"keywords": "Class ToggleView C# Visual Basic public sealed class ToggleView : AbstractView Public NotInheritable Class ToggleView Inherits AbstractView Inheritance System.Object AbstractView ToggleView Inherited Members AbstractView.Id AbstractView.Name AbstractView.Type AbstractView.HtmlIndent AbstractView.NonAllowedCharactersForId AbstractView.GetIndentStringFromNumber(Int32) AbstractView.IdContainsNonAllowedCharacters() AbstractView.ShallowCopy() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll A toggle switch is used to indicate a control that has only two possible operational states. Constructors View Source ToggleView(String, String, Boolean) Create a new instance of a toggle with an ID and Name Declaration C# Visual Basic [JsonConstructor] public ToggleView(string id, string name, bool isEnabled = false) <JsonConstructor> Public Sub New(id As String, name As String, isEnabled As Boolean = False) Parameters Type Name Description System.String id The unique ID for the view System.String name The name of the view System.Boolean isEnabled The state of the toggle. DEFAULT: false Properties View Source IsEnabled The current state of the toggle switch Declaration C# Visual Basic [JsonProperty(\"enabled\")] public bool IsEnabled { get; set; } <JsonProperty(\"enabled\")> Public Property IsEnabled As Boolean Property Value Type Description System.Boolean View Source ToggleType The style of toggle Declaration C# Visual Basic [JsonProperty(\"toggle_style\")] public EToggleType ToggleType { get; set; } <JsonProperty(\"toggle_style\")> Public Property ToggleType As EToggleType Property Value Type Description EToggleType Methods View Source GetStringValue() Get the value associated with this view as a string if there is one. Declaration C# Visual Basic public override string GetStringValue() Public Overrides Function GetStringValue As String Returns Type Description System.String The value stored in this view as a string or NULL if there is no value stored. Overrides AbstractView.GetStringValue() View Source ToHtml(Int32) Get a string representation of this view converted into HTML Declaration C# Visual Basic public override string ToHtml(int indent = 0) Public Overrides Function ToHtml(indent As Integer = 0) As String Parameters Type Name Description System.Int32 indent Returns Type Description System.String An HTML representation of the view as a string Overrides AbstractView.ToHtml(Int32) View Source Update(AbstractView) Update the view to the new state. This will change the enabled state Declaration C# Visual Basic public override void Update(AbstractView newViewState) Public Overrides Sub Update(newViewState As AbstractView) Parameters Type Name Description AbstractView newViewState The new state of the view being updated. This view's ID and Type must match the calling view exactly Overrides AbstractView.Update(AbstractView) Exceptions Type Condition ViewTypeMismatchException Thrown when the new view's class doesn't match the calling view View Source UpdateValue(String) Update the value of the view Declaration C# Visual Basic public override void UpdateValue(string value) Public Overrides Sub UpdateValue(value As String) Parameters Type Name Description System.String value The new value Overrides AbstractView.UpdateValue(String) Exceptions Type Condition System.FormatException Thrown when the value is not in the correct format"
},
"api/HomeSeer.Jui.Views.ViewCollectionHelper.html": {
"href": "api/HomeSeer.Jui.Views.ViewCollectionHelper.html",
"title": "Class ViewCollectionHelper | HomeSeer PluginSdk Docs",
"keywords": "Class ViewCollectionHelper C# Visual Basic static class ViewCollectionHelper Module ViewCollectionHelper Inheritance System.Object ViewCollectionHelper Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll Methods View Source AddView(AbstractView, ref List<AbstractView>, ref Dictionary<String, Int32>, Boolean) Add a view to a collection Declaration C# Visual Basic static void AddView(AbstractView view, ref List<AbstractView> viewList, ref Dictionary<string, int> viewIds, bool toGroup = false) Shared Sub AddView(view As AbstractView, ByRef viewList As List(Of AbstractView), ByRef viewIds As Dictionary(Of String, Integer), toGroup As Boolean = False) Parameters Type Name Description AbstractView view The view to add to the collection System.Collections.Generic.List < AbstractView > viewList A reference to the current list of views System.Collections.Generic.Dictionary < System.String , System.Int32 > viewIds A reference to the map of view IDs and list indexes System.Boolean toGroup If the collection the view is being added it is a ViewGroup. DEFAULT: false for a Page Exceptions Type Condition System.ArgumentNullException The view or its ID is null System.ArgumentException There is already a view with the same ID present in the collection System.InvalidOperationException Thrown when trying to add a ViewGroup to another ViewGroup ViewTypeMismatchException Thrown when a view group's type does not match its class View Source AddViews(IEnumerable<AbstractView>, ref List<AbstractView>, ref Dictionary<String, Int32>, Boolean) Add multiple views to a collection Declaration C# Visual Basic static void AddViews(IEnumerable<AbstractView> views, ref List<AbstractView> viewList, ref Dictionary<string, int> viewIds, bool toGroup = false) Shared Sub AddViews(views As IEnumerable(Of AbstractView), ByRef viewList As List(Of AbstractView), ByRef viewIds As Dictionary(Of String, Integer), toGroup As Boolean = False) Parameters Type Name Description System.Collections.Generic.IEnumerable < AbstractView > views The views to add to the collection System.Collections.Generic.List < AbstractView > viewList A reference to the current list of views System.Collections.Generic.Dictionary < System.String , System.Int32 > viewIds A reference to the map of view IDs and list indexes System.Boolean toGroup If the collection the views are being added it is a ViewGroup. DEFAULT: false for a Page Exceptions Type Condition System.ArgumentNullException The list of views is null View Source ContainsViewWithId(String, ref List<AbstractView>, ref Dictionary<String, Int32>) Check to see if a view with a specific ID is present in a collection Declaration C# Visual Basic static bool ContainsViewWithId(string viewId, ref List<AbstractView> viewList, ref Dictionary<string, int> viewIds) Shared Function ContainsViewWithId(viewId As String, ByRef viewList As List(Of AbstractView), ByRef viewIds As Dictionary(Of String, Integer)) As Boolean Parameters Type Name Description System.String viewId The ID of the view to look for System.Collections.Generic.List < AbstractView > viewList A reference to the current list of views System.Collections.Generic.Dictionary < System.String , System.Int32 > viewIds A reference to the map of view IDs and list indexes Returns Type Description System.Boolean TRUE if the view exists in the collection; FALSE if it does not exist in the collection Exceptions Type Condition System.ArgumentNullException The viewId to look for is NULL System.IndexOutOfRangeException The ID was found, but the view is not in the collection View Source GetViewById(String, ref List<AbstractView>, ref Dictionary<String, Int32>) Get the view with a specific ID from a collection Declaration C# Visual Basic static AbstractView GetViewById(string viewId, ref List<AbstractView> viewList, ref Dictionary<string, int> viewIds) Shared Function GetViewById(viewId As String, ByRef viewList As List(Of AbstractView), ByRef viewIds As Dictionary(Of String, Integer)) As AbstractView Parameters Type Name Description System.String viewId The ID of the view to look for System.Collections.Generic.List < AbstractView > viewList A reference to the current list of views System.Collections.Generic.Dictionary < System.String , System.Int32 > viewIds A reference to the map of view IDs and list indexes Returns Type Description AbstractView The view with the specified ID Exceptions Type Condition System.ArgumentNullException The viewId to look for is NULL System.IndexOutOfRangeException The ID was found, but the view is not in the collection System.ArgumentException There are no views in the collection ViewNotFoundException No views with that ID were found in the collection ViewTypeMismatchException Thrown when a view group's type does not match its class View Source GetViewById<TViewType>(String, ref List<AbstractView>, ref Dictionary<String, Int32>) Get the view with a specific ID from a collection cast as the target type Declaration C# Visual Basic static TViewType GetViewById<TViewType>(string viewId, ref List<AbstractView> viewList, ref Dictionary<string, int> viewIds) where TViewType : AbstractView Shared Function GetViewById(Of TViewType As AbstractView)(viewId As String, ByRef viewList As List(Of AbstractView), ByRef viewIds As Dictionary(Of String, Integer)) As TViewType Parameters Type Name Description System.String viewId The ID of the view to look for System.Collections.Generic.List < AbstractView > viewList A reference to the current list of views System.Collections.Generic.Dictionary < System.String , System.Int32 > viewIds A reference to the map of view IDs and list indexes Returns Type Description TViewType The view with the specified ID cast to the target type Type Parameters Name Description TViewType Exceptions Type Condition System.ArgumentNullException The viewId to look for is NULL System.IndexOutOfRangeException The ID was found, but the view is not in the collection System.ArgumentException There are no views in the collection ViewNotFoundException No views with that ID were found in the collection ViewTypeMismatchException Thrown when a view group's type does not match its class View Source MapViewIds(List<AbstractView>, out Dictionary<String, Int32>, Boolean) Build a map of view IDs and list indexes for a collection of views Declaration C# Visual Basic static void MapViewIds(List<AbstractView> viewList, out Dictionary<string, int> viewIds, bool calledByGroup = false) Shared Sub MapViewIds(viewList As List(Of AbstractView), ByRef viewIds As Dictionary(Of String, Integer), calledByGroup As Boolean = False) Parameters Type Name Description System.Collections.Generic.List < AbstractView > viewList A reference to the current list of views System.Collections.Generic.Dictionary < System.String , System.Int32 > viewIds A reference to the map of view IDs and list indexes System.Boolean calledByGroup Whether the method was called by a ViewGroup or not. Prevents infinite recursion. Exceptions Type Condition System.ArgumentNullException The list of views to map is null View Source RemoveAllViews(out List<AbstractView>, out Dictionary<String, Int32>) Clear a collection of views Declaration C# Visual Basic static void RemoveAllViews(out List<AbstractView> viewList, out Dictionary<string, int> viewIds) Shared Sub RemoveAllViews(ByRef viewList As List(Of AbstractView), ByRef viewIds As Dictionary(Of String, Integer)) Parameters Type Name Description System.Collections.Generic.List < AbstractView > viewList A reference to the current list of views System.Collections.Generic.Dictionary < System.String , System.Int32 > viewIds A reference to the map of view IDs and list indexes View Source RemoveViewById(String, ref List<AbstractView>, ref Dictionary<String, Int32>) Remove a view with the specified ID from the collection. Remaining views at indexes greater than the specified view will be moved down one index to fill the empty space Declaration C# Visual Basic static void RemoveViewById(string viewId, ref List<AbstractView> viewList, ref Dictionary<string, int> viewIds) Shared Sub RemoveViewById(viewId As String, ByRef viewList As List(Of AbstractView), ByRef viewIds As Dictionary(Of String, Integer)) Parameters Type Name Description System.String viewId The ID of the view to remove System.Collections.Generic.List < AbstractView > viewList The current list of views in the collection System.Collections.Generic.Dictionary < System.String , System.Int32 > viewIds The current view ID to index map for the collection Exceptions Type Condition System.ArgumentNullException Thrown when any of the supplied parameters is null of empty System.ArgumentException Thrown when the number of items in the viewList and viewIds do not match System.Collections.Generic.KeyNotFoundException Thrown when a view with the specified ID was not found View Source RemoveViewsAfterId(String, ref List<AbstractView>, ref Dictionary<String, Int32>) Trim all views in the collection following the view with the specified ID Declaration C# Visual Basic static void RemoveViewsAfterId(string viewId, ref List<AbstractView> viewList, ref Dictionary<string, int> viewIds) Shared Sub RemoveViewsAfterId(viewId As String, ByRef viewList As List(Of AbstractView), ByRef viewIds As Dictionary(Of String, Integer)) Parameters Type Name Description System.String viewId The ID of the view that should be at the end of the collection System.Collections.Generic.List < AbstractView > viewList The current list of views in the collection System.Collections.Generic.Dictionary < System.String , System.Int32 > viewIds The current view ID to index map for the collection Exceptions Type Condition System.ArgumentNullException Thrown when any of the supplied parameters is null of empty System.ArgumentException Thrown when the number of items in the viewList and viewIds do not match View Source SetViews(IEnumerable<AbstractView>, ref List<AbstractView>, ref Dictionary<String, Int32>, Boolean) Set the collection of views Declaration C# Visual Basic static void SetViews(IEnumerable<AbstractView> views, ref List<AbstractView> viewList, ref Dictionary<string, int> viewIds, bool toGroup = false) Shared Sub SetViews(views As IEnumerable(Of AbstractView), ByRef viewList As List(Of AbstractView), ByRef viewIds As Dictionary(Of String, Integer), toGroup As Boolean = False) Parameters Type Name Description System.Collections.Generic.IEnumerable < AbstractView > views The new state of the collection System.Collections.Generic.List < AbstractView > viewList A reference to the current list of views System.Collections.Generic.Dictionary < System.String , System.Int32 > viewIds A reference to the map of view IDs and list indexes System.Boolean toGroup If the collection the views are being added it is a ViewGroup. DEFAULT: false for a Page Exceptions Type Condition System.ArgumentNullException The list of views is null View Source UpdateViewById(AbstractView, ref List<AbstractView>, ref Dictionary<String, Int32>) Perform a soft update to a view in a collection with a particular ID Declaration C# Visual Basic static void UpdateViewById(AbstractView view, ref List<AbstractView> viewList, ref Dictionary<string, int> viewIds) Shared Sub UpdateViewById(view As AbstractView, ByRef viewList As List(Of AbstractView), ByRef viewIds As Dictionary(Of String, Integer)) Parameters Type Name Description AbstractView view The new state of the view to update System.Collections.Generic.List < AbstractView > viewList A reference to the current list of views System.Collections.Generic.Dictionary < System.String , System.Int32 > viewIds A reference to the map of view IDs and list indexes Exceptions Type Condition System.ArgumentNullException The viewId to look for is NULL System.IndexOutOfRangeException The ID was found, but the view is not in the collection System.ArgumentException There are no views in the collection ViewNotFoundException No views with that ID were found in the collection View Source UpdateViewValueById(String, String, ref List<AbstractView>, ref Dictionary<String, Int32>) Declaration C# Visual Basic static void UpdateViewValueById(string id, string value, ref List<AbstractView> viewList, ref Dictionary<string, int> viewIds) Shared Sub UpdateViewValueById(id As String, value As String, ByRef viewList As List(Of AbstractView), ByRef viewIds As Dictionary(Of String, Integer)) Parameters Type Name Description System.String id System.String value System.Collections.Generic.List < AbstractView > viewList System.Collections.Generic.Dictionary < System.String , System.Int32 > viewIds"
},
"api/HomeSeer.Jui.Views.ViewGroup.html": {
"href": "api/HomeSeer.Jui.Views.ViewGroup.html",
"title": "Class ViewGroup | HomeSeer PluginSdk Docs",
"keywords": "Class ViewGroup C# Visual Basic public class ViewGroup : AbstractView Public Class ViewGroup Inherits AbstractView Inheritance System.Object AbstractView ViewGroup GridView Inherited Members AbstractView.Id AbstractView.Name AbstractView.Type AbstractView.HtmlIndent AbstractView.NonAllowedCharactersForId AbstractView.UpdateValue(String) AbstractView.GetIndentStringFromNumber(Int32) AbstractView.IdContainsNonAllowedCharacters() AbstractView.ShallowCopy() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll View groups define a vertical sub-grouping of views with a header. Constructors View Source ViewGroup(String) Create a new instance of a view group with an ID Declaration C# Visual Basic [JsonConstructor] protected ViewGroup(string id) <JsonConstructor> Protected Sub New(id As String) Parameters Type Name Description System.String id The unique ID of the group Exceptions Type Condition System.ArgumentNullException Thrown if a view is created with an invalid ID View Source ViewGroup(String, String) Create a new instance of a view group with an ID and Name Declaration C# Visual Basic public ViewGroup(string id, string name = null) Public Sub New(id As String, name As String = Nothing) Parameters Type Name Description System.String id The unique ID of the group System.String name The unique ID of the name. DEFAULT: null Exceptions Type Condition System.ArgumentNullException Thrown if a view is created with an invalid ID Fields View Source _viewIds A set of IDs for the views in this group. This is used to ensure that there are no duplicate IDs used. Declaration C# Visual Basic [JsonIgnore] Dictionary<string, int> _viewIds <JsonIgnore> _viewIds As Dictionary(Of String, Integer) Field Value Type Description System.Collections.Generic.Dictionary < System.String , System.Int32 > View Source _views The views to display within this group. Declaration C# Visual Basic [JsonProperty(\"views\", ItemIsReference = true)] List<AbstractView> _views <JsonProperty(\"views\", ItemIsReference:=True)> _views As List(Of AbstractView) Field Value Type Description System.Collections.Generic.List < AbstractView > Properties View Source ViewCount The number of views that are in this group. Declaration C# Visual Basic [JsonIgnore] public int ViewCount { get; } <JsonIgnore> Public ReadOnly Property ViewCount As Integer Property Value Type Description System.Int32 View Source ViewIds A list of the IDs of the views in this group Declaration C# Visual Basic [JsonIgnore] public ReadOnlyCollection<string> ViewIds { get; } <JsonIgnore> Public ReadOnly Property ViewIds As ReadOnlyCollection(Of String) Property Value Type Description System.Collections.ObjectModel.ReadOnlyCollection < System.String > View Source Views The views to display within this group. This is for access only. Use AddView(AbstractView) and UpdateViewById(AbstractView) for setting views/updating them Declaration C# Visual Basic [JsonIgnore] public ReadOnlyCollection<AbstractView> Views { get; } <JsonIgnore> Public ReadOnly Property Views As ReadOnlyCollection(Of AbstractView) Property Value Type Description System.Collections.ObjectModel.ReadOnlyCollection < AbstractView > Methods View Source AddView(AbstractView) Add a view to the group Declaration C# Visual Basic public virtual void AddView(AbstractView view) Public Overridable Sub AddView(view As AbstractView) Parameters Type Name Description AbstractView view Exceptions Type Condition System.ArgumentNullException The view or its ID is null System.ArgumentException There is already a view with the same ID present in the collection System.InvalidOperationException Thrown when trying to add a ViewGroup to another ViewGroup ViewTypeMismatchException Thrown when a view group's type does not match its class View Source AddViews(IEnumerable<AbstractView>) Add multiple views to the group Declaration C# Visual Basic public virtual void AddViews(IEnumerable<AbstractView> views) Public Overridable Sub AddViews(views As IEnumerable(Of AbstractView)) Parameters Type Name Description System.Collections.Generic.IEnumerable < AbstractView > views Exceptions Type Condition System.ArgumentNullException The list of views is null View Source ContainsViewWithId(String) Check to see if a view with a specific ID is present in a collection Declaration C# Visual Basic public bool ContainsViewWithId(string viewId) Public Function ContainsViewWithId(viewId As String) As Boolean Parameters Type Name Description System.String viewId Returns Type Description System.Boolean TRUE if the view exists in the collection; FALSE if it does not exist in the collection Exceptions Type Condition System.ArgumentNullException The viewId to look for is NULL System.IndexOutOfRangeException The ID was found, but the view is not in the collection View Source GetStringValue() Get the value associated with this view as a string if there is one. Declaration C# Visual Basic public override string GetStringValue() Public Overrides Function GetStringValue As String Returns Type Description System.String The value stored in this view as a string or NULL if there is no value stored. Overrides AbstractView.GetStringValue() Exceptions Type Condition System.InvalidOperationException Thrown to indicate that this ViewGroup contains other views View Source GetViewById(String) Get the view with a specific ID from a collection Declaration C# Visual Basic public AbstractView GetViewById(string viewId) Public Function GetViewById(viewId As String) As AbstractView Parameters Type Name Description System.String viewId Returns Type Description AbstractView The view with the specified ID Exceptions Type Condition System.ArgumentNullException The viewId to look for is NULL System.IndexOutOfRangeException The ID was found, but the view is not in the collection System.ArgumentException There are no views in the collection ViewNotFoundException No views with that ID were found in the collection ViewTypeMismatchException Thrown when a view group's type does not match its class View Source GetViewById<TViewType>(String) Get the view with a specific ID from a collection cast as the target type Declaration C# Visual Basic public TViewType GetViewById<TViewType>(string viewId) where TViewType : AbstractView Public Function GetViewById(Of TViewType As AbstractView)(viewId As String) As TViewType Parameters Type Name Description System.String viewId The ID of the view to get Returns Type Description TViewType The view with the specified ID cast as the target type. Type Parameters Name Description TViewType Exceptions Type Condition System.ArgumentNullException An invalid view ID was entered System.ArgumentException No views are in the group to get System.IndexOutOfRangeException The ID was found, but the view was not. The group is probably malformed and should be recreated. System.Collections.Generic.KeyNotFoundException No views with that ID were found View Source MapViewIds() Build a map of view IDs and list indexes for a collection of views Declaration C# Visual Basic void MapViewIds() Sub MapViewIds Exceptions Type Condition System.ArgumentNullException The list of views to map is null View Source RemoveAllViews() Clear a collection of views Declaration C# Visual Basic public virtual void RemoveAllViews() Public Overridable Sub RemoveAllViews View Source SetViews(IEnumerable<AbstractView>) Set the list of views in this group Declaration C# Visual Basic public virtual void SetViews(IEnumerable<AbstractView> views) Public Overridable Sub SetViews(views As IEnumerable(Of AbstractView)) Parameters Type Name Description System.Collections.Generic.IEnumerable < AbstractView > views Exceptions Type Condition System.ArgumentNullException The list of views is null View Source ToHtml(Int32) Get a string representation of this view converted into HTML Declaration C# Visual Basic public override string ToHtml(int indent = 0) Public Overrides Function ToHtml(indent As Integer = 0) As String Parameters Type Name Description System.Int32 indent Returns Type Description System.String An HTML representation of the view as a string Overrides AbstractView.ToHtml(Int32) View Source Update(AbstractView) Not used by ViewGroups Declaration C# Visual Basic public override void Update(AbstractView newViewState) Public Overrides Sub Update(newViewState As AbstractView) Parameters Type Name Description AbstractView newViewState The new state of the view being updated. This view's ID and Type must match the calling view exactly Overrides AbstractView.Update(AbstractView) Exceptions Type Condition System.ArgumentNullException Thrown when the new state of the view is null System.InvalidOperationException Thrown when the new view's ID or Type don't match the calling view View Source UpdateViewById(AbstractView) Perform a soft update to a view in a collection with a particular ID Declaration C# Visual Basic public void UpdateViewById(AbstractView view) Public Sub UpdateViewById(view As AbstractView) Parameters Type Name Description AbstractView view Exceptions Type Condition System.ArgumentNullException The viewId to look for is NULL System.IndexOutOfRangeException The ID was found, but the view is not in the collection System.ArgumentException There are no views in the collection ViewNotFoundException No views with that ID were found in the collection View Source UpdateViewValueById(String, String) Declaration C# Visual Basic public void UpdateViewValueById(string id, string value) Public Sub UpdateViewValueById(id As String, value As String) Parameters Type Name Description System.String id System.String value"
},
"api/HomeSeer.Jui.Views.ViewNotFoundException.html": {
"href": "api/HomeSeer.Jui.Views.ViewNotFoundException.html",
"title": "Class ViewNotFoundException | HomeSeer PluginSdk Docs",
"keywords": "Class ViewNotFoundException C# Visual Basic [Serializable] public class ViewNotFoundException : Exception, ISerializable, _Exception <Serializable> Public Class ViewNotFoundException Inherits Exception Implements ISerializable, _Exception Inheritance System.Object System.Exception ViewNotFoundException Implements System.Runtime.Serialization.ISerializable System.Runtime.InteropServices._Exception Inherited Members System.Exception.GetBaseException() System.Exception.ToString() System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext) System.Exception.InternalToString() System.Exception.GetType() System.Exception.Message System.Exception.Data System.Exception.InnerException System.Exception.TargetSite System.Exception.StackTrace System.Exception.HelpLink System.Exception.Source System.Exception.HResult System.Exception.SerializeObjectState System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll The exception that is thrown when a view is not found in a collection Constructors View Source ViewNotFoundException() Create an exception with the default message Declaration C# Visual Basic public ViewNotFoundException() Public Sub New View Source ViewNotFoundException(SerializationInfo, StreamingContext) Special constructor used for deserialization. This is mandatory in order for HSCF to be able to deserialize this exception. Declaration C# Visual Basic protected ViewNotFoundException(SerializationInfo info, StreamingContext context) Protected Sub New(info As SerializationInfo, context As StreamingContext) Parameters Type Name Description System.Runtime.Serialization.SerializationInfo info The data to deserialize from System.Runtime.Serialization.StreamingContext context The context of the source stream View Source ViewNotFoundException(String) Create an exception with a message Declaration C# Visual Basic public ViewNotFoundException(string message) Public Sub New(message As String) Parameters Type Name Description System.String message The message to include with the exception View Source ViewNotFoundException(String, Exception) Create an exception wrapping another exception with a message Declaration C# Visual Basic public ViewNotFoundException(string message, Exception innerException) Public Sub New(message As String, innerException As Exception) Parameters Type Name Description System.String message The message to include with the exception System.Exception innerException The exception to wrap Implements System.Runtime.Serialization.ISerializable System.Runtime.InteropServices._Exception"
},
"api/HomeSeer.Jui.Views.ViewTypeMismatchException.html": {
"href": "api/HomeSeer.Jui.Views.ViewTypeMismatchException.html",
"title": "Class ViewTypeMismatchException | HomeSeer PluginSdk Docs",
"keywords": "Class ViewTypeMismatchException C# Visual Basic [Serializable] public class ViewTypeMismatchException : Exception, ISerializable, _Exception <Serializable> Public Class ViewTypeMismatchException Inherits Exception Implements ISerializable, _Exception Inheritance System.Object System.Exception ViewTypeMismatchException Implements System.Runtime.Serialization.ISerializable System.Runtime.InteropServices._Exception Inherited Members System.Exception.GetBaseException() System.Exception.ToString() System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext) System.Exception.InternalToString() System.Exception.GetType() System.Exception.Message System.Exception.Data System.Exception.InnerException System.Exception.TargetSite System.Exception.StackTrace System.Exception.HelpLink System.Exception.Source System.Exception.HResult System.Exception.SerializeObjectState System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.MemberwiseClone() Namespace : HomeSeer.Jui.Views Assembly : PluginSdk.dll The exception that is thrown when a view's type doesn't match its class Constructors View Source ViewTypeMismatchException() Create an exception with the default message Declaration C# Visual Basic public ViewTypeMismatchException() Public Sub New View Source ViewTypeMismatchException(SerializationInfo, StreamingContext) Special constructor used for deserialization. This is mandatory in order for HSCF to be able to deserialize this exception. Declaration C# Visual Basic protected ViewTypeMismatchException(SerializationInfo info, StreamingContext context) Protected Sub New(info As SerializationInfo, context As StreamingContext) Parameters Type Name Description System.Runtime.Serialization.SerializationInfo info The data to deserialize from System.Runtime.Serialization.StreamingContext context The context of the source stream View Source ViewTypeMismatchException(String) Create an exception with a message Declaration C# Visual Basic public ViewTypeMismatchException(string message) Public Sub New(message As String) Parameters Type Name Description System.String message The message to include with the exception View Source ViewTypeMismatchException(String, Exception) Create an exception wrapping another exception with a message Declaration C# Visual Basic public ViewTypeMismatchException(string message, Exception innerException) Public Sub New(message As String, innerException As Exception) Parameters Type Name Description System.String message The message to include with the exception System.Exception innerException The exception to wrap Implements System.Runtime.Serialization.ISerializable System.Runtime.InteropServices._Exception"
},
"api/HomeSeer.PluginSdk.AbstractPlugin.html": {
"href": "api/HomeSeer.PluginSdk.AbstractPlugin.html",
"title": "Class AbstractPlugin | HomeSeer PluginSdk Docs",
"keywords": "Class AbstractPlugin C# Visual Basic public abstract class AbstractPlugin : IPlugin, ActionTypeCollection.IActionTypeListener, TriggerTypeCollection.ITriggerTypeListener Public MustInherit Class AbstractPlugin Implements IPlugin, ActionTypeCollection.IActionTypeListener, TriggerTypeCollection.ITriggerTypeListener Inheritance System.Object AbstractPlugin Implements IPlugin ActionTypeCollection.IActionTypeListener TriggerTypeCollection.ITriggerTypeListener Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll The base implementation of the IPlugin interface. It includes default implementations for most of the IPlugin members and wraps others with convenience methods and objects that make it simpler to interface with the HomeSeer system. Once the containing plugin application is started, initiate a connection to the HomeSeer system by calling Connect(String[]) . All plugins (the HSPI class) should derive from this class. Basic Usage Define a class in your plugin called HSPI that inherits from AbstractPlugin and implement the required members: AbstractPlugin.Id AbstractPlugin.Name AbstractPlugin.Initialize() AbstractPlugin.OnSettingChange(string, AbstractView, AbstractView) AbstractPlugin.BeforeReturnStatus() AbstractPlugin.PostBackProc(string, string, string, int) public class HSPI : AbstractPlugin { public override string Id { get; } = \"PLUGINID\"; public override string Name { get; } = \"PLUGINNAME\" public HSPI() { } protected override void Initialize() { //Initialize the starting state of the plugin Status = PluginStatus.Ok(); } protected override bool OnSettingChange(string pageId, AbstractView currentView, AbstractView changedView) { //React to changes to your plugin settings } protected override void BeforeReturnStatus() { //Update the status of your plugin before it is returned to HomeSeer } public override string PostBackProc(string page, string data, string user, int userRights) { //React to HTTP POST methods sent to feature pages owned by this plugin } } Constructors View Source AbstractPlugin() Default constructor that initializes the Action and Trigger type collections Declaration C# Visual Basic protected AbstractPlugin() Protected Sub New Fields View Source _client Declaration C# Visual Basic static IScsServiceClient<IHsController> _client Shared _client As IScsServiceClient(Of IHsController) Field Value Type Description HSCF.Communication.ScsServices.Client.IScsServiceClient < IHsController > View Source _isShutdown Declaration C# Visual Basic bool _isShutdown _isShutdown As Boolean Field Value Type Description System.Boolean View Source _logDebug Declaration C# Visual Basic bool _logDebug _logDebug As Boolean Field Value Type Description System.Boolean View Source HomeSeerPort Declaration C# Visual Basic const int HomeSeerPort = 10400 Const HomeSeerPort As Integer = 10400 Field Value Type Description System.Int32 View Source SettingsSectionName Default section name for storing settings in an INI file Declaration C# Visual Basic protected const string SettingsSectionName = \"Settings\" Protected Const SettingsSectionName As String = \"Settings\" Field Value Type Description System.String Properties View Source AccessLevel Return the access level of this plug-in. Access level is the licensing mode. Use the integer value corresponding to the EAccessLevel for your plugin Declaration C# Visual Basic public virtual int AccessLevel { get; } Public Overridable ReadOnly Property AccessLevel As Integer Property Value Type Description System.Int32 View Source ActionCount The number of unique event actions the plugin supports Declaration C# Visual Basic public int ActionCount { get; } Public ReadOnly Property ActionCount As Integer Property Value Type Description System.Int32 View Source ActionTypes The collection of action types that this plugin hosts for HomeSeer Declaration C# Visual Basic protected ActionTypeCollection ActionTypes { get; set; } Protected Property ActionTypes As ActionTypeCollection Property Value Type Description ActionTypeCollection View Source HasSettings Whether the plugin has settings pages or not. If this is TRUE, you must return valid JUI data in GetJuiSettingsPages() Declaration C# Visual Basic public virtual bool HasSettings { get; } Public Overridable ReadOnly Property HasSettings As Boolean Property Value Type Description System.Boolean Remarks The default implementation should be sufficient for all purposes; returning TRUE if the Settings property contains pages or FALSE if it doesn't. Override this and always return TRUE if you plan on adding settings pages to the collection later View Source HomeSeerSystem An instance of the HomeSeer system Declaration C# Visual Basic protected IHsController HomeSeerSystem { get; } Protected ReadOnly Property HomeSeerSystem As IHsController Property Value Type Description IHsController View Source Id Unique ID for this plugin, needs to be unique for all plugins. Do NOT use special characters or spaces in your plugin ID Declaration C# Visual Basic public abstract string Id { get; } Public MustOverride ReadOnly Property Id As String Property Value Type Description System.String Remarks The ID is used throughout the HomeSeer platform to target this plugin specifically via URL or internal code. It is recommended to use the name of your plugin, removing special characters and spaces, as the ID to make it easy to match them with one-another. View Source IpAddress The IP Address that the HomeSeer system is located at Declaration C# Visual Basic protected string IpAddress { get; set; } Protected Property IpAddress As String Property Value Type Description System.String View Source LogDebug Used to enable/disable internal logging to the console When it is TRUE, log messages from the PluginSdk code will be written to the Console Declaration C# Visual Basic protected bool LogDebug { get; set; } Protected Property LogDebug As Boolean Property Value Type Description System.Boolean View Source Name The name of the plugin Do NOT use special characters in your plugin name with the exception of \"-\", \".\", and \" \" (space). This is used to identify your plug-in to HomeSeer and your users. Keep the name to 16 characters or less. Declaration C# Visual Basic public abstract string Name { get; } Public MustOverride ReadOnly Property Name As String Property Value Type Description System.String View Source Settings The collection of settings pages for the plugin. See SettingsCollection for more information. Declaration C# Visual Basic protected SettingsCollection Settings { get; set; } Protected Property Settings As SettingsCollection Property Value Type Description SettingsCollection View Source SettingsFileName The name of the settings INI file for the plugin. It is recommended to use [PLUGIN-ID].ini where [PLUGIN-ID] is the ID of this plugin Declaration C# Visual Basic protected virtual string SettingsFileName { get; } Protected Overridable ReadOnly Property SettingsFileName As String Property Value Type Description System.String View Source Status The current status of the plugin. Default state is OK Declaration C# Visual Basic protected virtual PluginStatus Status { get; set; } Protected Overridable Property Status As PluginStatus Property Value Type Description PluginStatus Remarks This property is often queried by HomeSeer before interfacing with the plugin during normal operation of the system to determine if it should continue making calls or report to the user that the plugin may be inoperable. This is also queried when users navigate to the plugin management page. See Also PluginStatus View Source SupportsConfigDevice Whether this plugin supports a device configuration page for devices created/managed by it TRUE will cause HomeSeer to call GetJuiDeviceConfigPage() for devices this plugin manages. FALSE means HomeSeer will not call GetJuiDeviceConfigPage() for any devices Declaration C# Visual Basic public virtual bool SupportsConfigDevice { get; } Public Overridable ReadOnly Property SupportsConfigDevice As Boolean Property Value Type Description System.Boolean View Source SupportsConfigDeviceAll Whether this plugin supports a device configuration page for all devices TRUE will cause HomeSeer to call GetJuiDeviceConfigPage() for every device. FALSE means HomeSeer will not call GetJuiDeviceConfigPage() for all devices Declaration C# Visual Basic public virtual bool SupportsConfigDeviceAll { get; } Public Overridable ReadOnly Property SupportsConfigDeviceAll As Boolean Property Value Type Description System.Boolean View Source SupportsConfigFeature Whether this plugin supports a feature configuration page for features created/managed by it TRUE will cause HomeSeer to call GetJuiDeviceConfigPage() for features this plugin manages. FALSE means HomeSeer will not call GetJuiDeviceConfigPage() for any features Declaration C# Visual Basic public virtual bool SupportsConfigFeature { get; } Public Overridable ReadOnly Property SupportsConfigFeature As Boolean Property Value Type Description System.Boolean Remarks Setting this to TRUE allows you to display a unique page for each feature instead of using a single page for the device and all of its features. View Source TriggerCount The number of unique event triggers the plugin supports Declaration C# Visual Basic public int TriggerCount { get; } Public ReadOnly Property TriggerCount As Integer Property Value Type Description System.Int32 View Source TriggerTypes The collection of trigger types that this plugin hosts for HomeSeer Declaration C# Visual Basic protected TriggerTypeCollection TriggerTypes { get; set; } Protected Property TriggerTypes As TriggerTypeCollection Property Value Type Description TriggerTypeCollection Methods View Source ActionBuildUI(TrigActInfo) Called by the HomeSeer system when an event is in edit mode and in need of HTML controls for the user. Declaration C# Visual Basic public string ActionBuildUI(TrigActInfo actInfo) Public Function ActionBuildUI(actInfo As TrigActInfo) As String Parameters Type Name Description TrigActInfo actInfo Object that contains information about the action like current selections. Returns Type Description System.String HTML controls that need to be displayed so the user can select the action parameters. View Source ActionConfigured(TrigActInfo) Called by the HomeSeer system to verify that the configuration is valid and can be saved Declaration C# Visual Basic public bool ActionConfigured(TrigActInfo actInfo) Public Function ActionConfigured(actInfo As TrigActInfo) As Boolean Parameters Type Name Description TrigActInfo actInfo Object describing the action. Returns Type Description System.Boolean TRUE if the given action is configured properly; FALSE if the action shouldn't be saved View Source ActionFormatUI(TrigActInfo) Called by the HomeSeer system when an event action is finished being configured and needs to be displayed in an easy to read format. Declaration C# Visual Basic public string ActionFormatUI(TrigActInfo actInfo) Public Function ActionFormatUI(actInfo As TrigActInfo) As String Parameters Type Name Description TrigActInfo actInfo Object that contains information about the current configuration of the trigger. Returns Type Description System.String HTML representing easy to read text describing the action View Source ActionProcessPostUI(Dictionary<String, String>, TrigActInfo) Called by the HomeSeer system to process selections when a user edits your event actions. Declaration C# Visual Basic public EventUpdateReturnData ActionProcessPostUI(Dictionary<string, string> postData, TrigActInfo actInfo) Public Function ActionProcessPostUI(postData As Dictionary(Of String, String), actInfo As TrigActInfo) As EventUpdateReturnData Parameters Type Name Description System.Collections.Generic.Dictionary < System.String , System.String > postData A collection of name value pairs that include the user's selections. TrigActInfo actInfo Returns Type Description EventUpdateReturnData Object the holds the parsed information for the action. HomeSeer will save this information for you in the database. View Source ActionReferencesDevice(TrigActInfo, Int32) Called by the HomeSeer system to determine if a specified device is referenced by a certain action. Declaration C# Visual Basic public bool ActionReferencesDevice(TrigActInfo actInfo, int dvRef) Public Function ActionReferencesDevice(actInfo As TrigActInfo, dvRef As Integer) As Boolean Parameters Type Name Description TrigActInfo actInfo Object describing the action. System.Int32 dvRef Returns Type Description System.Boolean TRUE if the action references the device; FALSE if it does not View Source BeforeReturnStatus() Called immediately before the plugin returns its Status to HomeSeer. Use this to analyze the current state of the plugin and update the Status accordingly. Declaration C# Visual Basic protected abstract void BeforeReturnStatus() Protected MustOverride Sub BeforeReturnStatus See Also PluginStatus View Source Connect(Int32) Declaration C# Visual Basic void Connect(int attempts) Sub Connect(attempts As Integer) Parameters Type Name Description System.Int32 attempts View Source Connect(String[]) Attempt to establish a connection to the HomeSeer system This connection will be maintained as long as the program is running or until ShutdownIO() is called. Declaration C# Visual Basic public void Connect(string[] args) Public Sub Connect(args As String()) Parameters Type Name Description System.String [] args Command line arguments included in the execution of the program View Source GetActionNameByNumber(Int32) Return the name of the action given an action number The name of the action will be displayed in the HomeSeer events actions list. Declaration C# Visual Basic public string GetActionNameByNumber(int actionNum) Public Function GetActionNameByNumber(actionNum As Integer) As String Parameters Type Name Description System.Int32 actionNum The number of the action to get the name for Returns Type Description System.String The name of the action associated with the action number View Source GetJuiDeviceConfigPage(Int32) Called by the HomeSeer software to obtain a HS-JUI device or feature configuration page for a specific device or feature Declaration C# Visual Basic public virtual string GetJuiDeviceConfigPage(int devOrFeatRef) Public Overridable Function GetJuiDeviceConfigPage(devOrFeatRef As Integer) As String Parameters Type Name Description System.Int32 devOrFeatRef The device or feature reference to get the page for Returns Type Description System.String A JSON serialized Jui.Page View Source GetJuiSettingsPages() Called by the HomeSeer software to obtain a list of settings pages Declaration C# Visual Basic public string GetJuiSettingsPages() Public Function GetJuiSettingsPages As String Returns Type Description System.String A SettingsCollection serialized to a JSON string View Source GetSubTriggerCount(Int32) Returns the number of sub triggers the plugin supports for the specified trigger number Declaration C# Visual Basic public int GetSubTriggerCount(int triggerNum) Public Function GetSubTriggerCount(triggerNum As Integer) As Integer Parameters Type Name Description System.Int32 triggerNum The number of the trigger to check Returns Type Description System.Int32 The number of sub triggers the specified trigger number supports View Source GetSubTriggerNameByNumber(Int32, Int32) The name of the sub trigger with the specified number of the trigger with the specified number Declaration C# Visual Basic public string GetSubTriggerNameByNumber(int triggerNum, int subTriggerNum) Public Function GetSubTriggerNameByNumber(triggerNum As Integer, subTriggerNum As Integer) As String Parameters Type Name Description System.Int32 triggerNum The number of the trigger to check System.Int32 subTriggerNum The number of the sub trigger to check Returns Type Description System.String The name of the sub trigger View Source GetTriggerNameByNumber(Int32) Return the name of the given trigger based on the specified trigger number Declaration C# Visual Basic public string GetTriggerNameByNumber(int triggerNum) Public Function GetTriggerNameByNumber(triggerNum As Integer) As String Parameters Type Name Description System.Int32 triggerNum The trigger number to get the name for Returns Type Description System.String The name of the trigger View Source HandleAction(TrigActInfo) Called by the HomeSeer system when an event is triggered and the plugin needs to carry out a specific action. Declaration C# Visual Basic public bool HandleAction(TrigActInfo actInfo) Public Function HandleAction(actInfo As TrigActInfo) As Boolean Parameters Type Name Description TrigActInfo actInfo Object describing the trigger and action. Returns Type Description System.Boolean TRUE if the action was executed successfully; FALSE if there was an error View Source HasJuiDeviceConfigPage(Int32) Called by HomeSeer Core to determine if a device or feature configuration page is available for a particular device or feature. Only called if SupportsConfigDevice or SupportsConfigFeature or SupportsConfigDeviceAll is set to TRUE. Declaration C# Visual Basic public virtual bool HasJuiDeviceConfigPage(int devOrFeatRef) Public Overridable Function HasJuiDeviceConfigPage(devOrFeatRef As Integer) As Boolean Parameters Type Name Description System.Int32 devOrFeatRef The Ref of the device Returns Type Description System.Boolean True if there is a page available, false if not. Returning True will cause HomeSeer Core to call GetJuiDeviceConfigPage(Int32) for the device or feature Remarks Default behavior is to show a configuration page for every device when SupportsConfigDevice or SupportsConfigFeature or SupportsConfigDeviceAll is set to true. Adjust this behavior if the plugin only shows a configuration page for some, but not all, devices. View Source HsEvent(Constants.HSEvent, Object[]) When you wish to have HomeSeer call back in to your plug-in or application when certain events happen in the system, call the RegisterEventCB procedure and provide it with event you wish to monitor. See RegisterEventCB for more information and an example and event types. The parameters are passed in an array of objects. Each entry in the array is a parameter. The number of entries depends on the type of event and are described below. The event type is always present in the first entry or params(0). Declaration C# Visual Basic public virtual void HsEvent(Constants.HSEvent eventType, object[] params) Public Overridable Sub HsEvent(eventType As Constants.HSEvent, params As Object()) Parameters Type Name Description Constants.HSEvent eventType The type of event that has occurred System.Object [] params The data associated with the event View Source Initialize() Called by the HomeSeer system to initialize the plugin. This is the primary entry point for all plugins. Start the plugin and get it ready for use. Declaration C# Visual Basic protected abstract void Initialize() Protected MustOverride Sub Initialize View Source InitIO() Called by HomeSeer to initialize the plugin. Perform all initialization logic in Initialize() Declaration C# Visual Basic public bool InitIO() Public Function InitIO As Boolean Returns Type Description System.Boolean TRUE if the plugin started successfully; FALSE if it did not You should opt for throwing an exception that contains a detailed messaged over returning FALSE whenever possible. View Source IsTriggerConfigValid(TrigActInfo) Given a TrigActInfo object, detect if this trigger is configured properly Declaration C# Visual Basic public bool IsTriggerConfigValid(TrigActInfo trigInfo) Public Function IsTriggerConfigValid(trigInfo As TrigActInfo) As Boolean Parameters Type Name Description TrigActInfo trigInfo The trigger info to validate Returns Type Description System.Boolean TRUE if the trigger is configured properly, FALSE otherwise View Source LoadSettingsFromIni() Loads the plugin settings saved to INI to Settings and saves default values if none exist. Declaration C# Visual Basic protected void LoadSettingsFromIni() Protected Sub LoadSettingsFromIni View Source OnDeviceConfigChange(Page, Int32) Called when there are changes to the device or feature config page that need to be processed and saved Declaration C# Visual Basic protected virtual bool OnDeviceConfigChange(Page deviceConfigPage, int devOrFeatRef) Protected Overridable Function OnDeviceConfigChange(deviceConfigPage As Page, devOrFeatRef As Integer) As Boolean Parameters Type Name Description Page deviceConfigPage A JUI page containing only the new state of any changed views System.Int32 devOrFeatRef The reference of the device or feature the config page is for Returns Type Description System.Boolean TRUE if the save was successful; FALSE if it was not You should throw an exception including a detailed message whenever possible over returning FALSE View Source OnSettingChange(String, AbstractView, AbstractView) Called when there is a change to a setting that needs to be processed Declaration C# Visual Basic protected abstract bool OnSettingChange(string pageId, AbstractView currentView, AbstractView changedView) Protected MustOverride Function OnSettingChange(pageId As String, currentView As AbstractView, changedView As AbstractView) As Boolean Parameters Type Name Description System.String pageId The ID of the page the view is on AbstractView currentView The state of the setting before the change AbstractView changedView The state of the settings after the change Returns Type Description System.Boolean TRUE if the change should be saved, FALSE if it should not You should throw an exception including a detailed message whenever possible over returning FALSE View Source OnSettingPageSave(Page) Called when there are changes to settings that need to be processed for a specific page. Declaration C# Visual Basic protected virtual void OnSettingPageSave(Page pageDelta) Protected Overridable Sub OnSettingPageSave(pageDelta As Page) Parameters Type Name Description Page pageDelta The page with view changes to be processed Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown when a view change targets a view that doesn't exist on the page View Source OnSettingsLoad() Called right before the data held in Settings is serialized and sent to HomeSeer. Use this if you need to process anything when the plugin settings are loaded. Otherwise, it is typically unnecessary to override this. The SettingsCollection class automatically takes care of the JSON serialization/deserialization process. Declaration C# Visual Basic protected virtual void OnSettingsLoad() Protected Overridable Sub OnSettingsLoad View Source OnShutdown() Called right before the plugin shuts down. Declaration C# Visual Basic protected virtual void OnShutdown() Protected Overridable Sub OnShutdown View Source OnStatusCheck() Called by the HomeSeer system to determine the status of the plugin. Declaration C# Visual Basic public PluginStatus OnStatusCheck() Public Function OnStatusCheck As PluginStatus Returns Type Description PluginStatus A PluginStatus object describing the state of the plugin See Also PluginStatus View Source PluginFunction(String, Object[]) Called by the HomeSeer system to run a plugin function by name using reflection Declaration C# Visual Basic public virtual object PluginFunction(string procName, object[] params) Public Overridable Function PluginFunction(procName As String, params As Object()) As Object Parameters Type Name Description System.String procName The name of the method to execute System.Object [] params The parameters to execute the method with Returns Type Description System.Object The result of the method execution View Source PluginPropertyGet(String) Called by the HomeSeer system to get the value of a property by name using reflection Declaration C# Visual Basic public virtual object PluginPropertyGet(string propName) Public Overridable Function PluginPropertyGet(propName As String) As Object Parameters Type Name Description System.String propName The name of the property Returns Type Description System.Object The value of the property View Source PluginPropertySet(String, Object) Called by the HomeSeer system to set the value of a property by name using reflection Declaration C# Visual Basic public virtual void PluginPropertySet(string propName, object value) Public Overridable Sub PluginPropertySet(propName As String, value As Object) Parameters Type Name Description System.String propName The name of the property System.Object value The new value of the property View Source PostBackProc(String, String, String, Int32) Called by the HomeSeer system when a page owned by this plugin receives an HTTP POST request Declaration C# Visual Basic public virtual string PostBackProc(string page, string data, string user, int userRights) Public Overridable Function PostBackProc(page As String, data As String, user As String, userRights As Integer) As String Parameters Type Name Description System.String page The page that received the POST request System.String data The data included in the request System.String user The user responsible for initiating the request System.Int32 userRights The user's rights Returns Type Description System.String A string of data that is returned to the requester View Source SaveJuiDeviceConfigPage(String, Int32) Save updated values for a HS-JUI formatted device or feature config page Declaration C# Visual Basic public bool SaveJuiDeviceConfigPage(string pageContent, int devOrFeatRef) Public Function SaveJuiDeviceConfigPage(pageContent As String, devOrFeatRef As Integer) As Boolean Parameters Type Name Description System.String pageContent A JSON serialized Jui.Page describing what has changed about the page System.Int32 devOrFeatRef The reference of the device or feature the config page is for Returns Type Description System.Boolean TRUE if the save was successful; FALSE if it was unsuccessful. An exception should be thrown with details about the error if it was unsuccessful View Source SaveJuiSettingsPages(String) Called by the HomeSeer system when settings changes need to be saved Declaration C# Visual Basic public bool SaveJuiSettingsPages(string jsonString) Public Function SaveJuiSettingsPages(jsonString As String) As Boolean Parameters Type Name Description System.String jsonString A List of Jui.Pages containing views that have changed, serialized as JSON Returns Type Description System.Boolean TRUE if the save was successful; FALSE if it was unsuccessful. An exception should be thrown with details about the error if it was unsuccessful View Source SetIOMulti(List<ControlEvent>) Called by the HomeSeer system when a device that this plugin owns is controlled. A plugin owns a device when its Interface property is set to the plugin ID. Declaration C# Visual Basic public virtual void SetIOMulti(List<ControlEvent> colSend) Public Overridable Sub SetIOMulti(colSend As List(Of ControlEvent)) Parameters Type Name Description System.Collections.Generic.List < ControlEvent > colSend Remarks The default behavior is to clear the current status text and set the value on the target feature and then let HomeSeer assign the status text based on the configured StatusControl s and StatusGraphic s View Source ShutdownIO() Called by the HomeSeer system to shutdown the plugin and its operations Declaration C# Visual Basic public void ShutdownIO() Public Sub ShutdownIO View Source SpeakIn(Int32, String, Boolean, String) If your plug-in is registered as a Speak proxy plug-in, then when HomeSeer is asked to speak something. It will pass the speak information to your plug-in using this procedure. When your plug-in is ready to do the actual speaking, it should call SpeakProxy, and pass the information that it got from this procedure to SpeakProxy. It may be necessary or a feature of your plug-in to modify the text being spoken or the host/instance list provided in the host parameter - this is acceptable. Declaration C# Visual Basic public virtual void SpeakIn(int speechDevice, string spokenText, bool wait, string host) Public Overridable Sub SpeakIn(speechDevice As Integer, spokenText As String, wait As Boolean, host As String) Parameters Type Name Description System.Int32 speechDevice This is the device that is to be used for the speaking. In older versions of HomeSeer, this value was used to indicate the sound card to use, and if it was over 100, then it indicated that it was speaking for HomeSeer Phone (device - 100 = phone line), or the WAV audio device to use. Although this is still used for HomeSeer Phone, speaks for HomeSeer phone are never proxied and so values >= 100 should never been seen in the device parameter. Pass the device parameter unchanged to SpeakProxy. System.String spokenText This is the text to be spoken, or if it is a WAV file to be played, then the characters \":" will be found starting at position 2 of the string as playing a WAV file with the speak command in HomeSeer REQUIRES a fully qualified path and filename of the WAV file to play. System.Boolean wait This parameter tells HomeSeer whether to continue processing commands immediately or to wait until the speak command is finished - pass this parameter unchanged to SpeakProxy. System.String host This is a list of host:instances to speak or play the WAV file on. An empty string or a single asterisk (*) indicates all connected speaker clients on all hosts. Normally this parameter is passed to SpeakProxy unchanged. Remarks PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. View Source TriggerBuildUI(TrigActInfo) Called by the HomeSeer system when an event is in edit mode and in need of HTML controls for the user. Declaration C# Visual Basic public string TriggerBuildUI(TrigActInfo trigInfo) Public Function TriggerBuildUI(trigInfo As TrigActInfo) As String Parameters Type Name Description TrigActInfo trigInfo Object that contains information about the current configuration of the trigger. Returns Type Description System.String HTML controls that need to be displayed so the user can select the trigger parameters. View Source TriggerCanBeCondition(Int32) Called by HomeSeer to determine if a given trigger can also be used as a condition Declaration C# Visual Basic public bool TriggerCanBeCondition(int triggerNum) Public Function TriggerCanBeCondition(triggerNum As Integer) As Boolean Parameters Type Name Description System.Int32 triggerNum The number of the trigger to check Returns Type Description System.Boolean TRUE if the given trigger can also be used as a condition, for the given trigger number. View Source TriggerFormatUI(TrigActInfo) Called by the HomeSeer system when an event trigger is finished being configured and needs to be displayed in an easy to read format. Declaration C# Visual Basic public string TriggerFormatUI(TrigActInfo trigInfo) Public Function TriggerFormatUI(trigInfo As TrigActInfo) As String Parameters Type Name Description TrigActInfo trigInfo Object that contains information about the current configuration of the trigger. Returns Type Description System.String HTML representing easy to read text describing the trigger View Source TriggerProcessPostUI(Dictionary<String, String>, TrigActInfo) Called by the HomeSeer system to process selections when a user edits your event triggers. Declaration C# Visual Basic public EventUpdateReturnData TriggerProcessPostUI(Dictionary<string, string> postData, TrigActInfo trigInfoIn) Public Function TriggerProcessPostUI(postData As Dictionary(Of String, String), trigInfoIn As TrigActInfo) As EventUpdateReturnData Parameters Type Name Description System.Collections.Generic.Dictionary < System.String , System.String > postData A collection of name value pairs that include the user's selections. TrigActInfo trigInfoIn Object that contains information about the trigger. Returns Type Description EventUpdateReturnData Object the holds the parsed information for the trigger. HomeSeer will save this information for you in the database. View Source TriggerReferencesDeviceOrFeature(TrigActInfo, Int32) Called by the HomeSeer system to determine if a specified device is referenced by a certain trigger. Declaration C# Visual Basic public bool TriggerReferencesDeviceOrFeature(TrigActInfo trigInfo, int devOrFeatRef) Public Function TriggerReferencesDeviceOrFeature(trigInfo As TrigActInfo, devOrFeatRef As Integer) As Boolean Parameters Type Name Description TrigActInfo trigInfo Object describing the trigger. System.Int32 devOrFeatRef The reference ID of the device or feature to check Returns Type Description System.Boolean TRUE if the trigger references the device; FALSE if it does not View Source TriggerTrue(TrigActInfo, Boolean) Called by HomeSeer when a trigger needs to be evaluated as a condition Declaration C# Visual Basic public bool TriggerTrue(TrigActInfo trigInfo, bool isCondition = false) Public Function TriggerTrue(trigInfo As TrigActInfo, isCondition As Boolean = False) As Boolean Parameters Type Name Description TrigActInfo trigInfo Object describing the trigger System.Boolean isCondition TRUE if the trigger represents a condition, FALSE if it is a trigger Returns Type Description System.Boolean TRUE if the conditions are met; FALSE if they are not View Source UpdateStatusNow(Int32) Called by the HomeSeer system when it needs the current status for a device/feature owned by the plugin. This should force the device/feature to update its current status on HomeSeer. Declaration C# Visual Basic public virtual EPollResponse UpdateStatusNow(int devOrFeatRef) Public Overridable Function UpdateStatusNow(devOrFeatRef As Integer) As EPollResponse Parameters Type Name Description System.Int32 devOrFeatRef The reference ID of the device/feature to poll Returns Type Description EPollResponse An EPollResponse describing the result of the request Implements IPlugin ActionTypeCollection.IActionTypeListener TriggerTypeCollection.ITriggerTypeListener"
},
"api/HomeSeer.PluginSdk.Constants.CAPIControlResponse.html": {
"href": "api/HomeSeer.PluginSdk.Constants.CAPIControlResponse.html",
"title": "Enum Constants.CAPIControlResponse | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.CAPIControlResponse C# Visual Basic public enum CAPIControlResponse Public Enum CAPIControlResponse Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description All_Failed All_Success Indeterminate Some_Failed"
},
"api/HomeSeer.PluginSdk.Constants.ConfigDevicePostReturn.html": {
"href": "api/HomeSeer.PluginSdk.Constants.ConfigDevicePostReturn.html",
"title": "Enum Constants.ConfigDevicePostReturn | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.ConfigDevicePostReturn C# Visual Basic public enum ConfigDevicePostReturn Public Enum ConfigDevicePostReturn Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description CallbackOnce CallbackTimer DoneAndCancel DoneAndCancelAndStay DoneAndSave"
},
"api/HomeSeer.PluginSdk.Constants.Device_Constants.html": {
"href": "api/HomeSeer.PluginSdk.Constants.Device_Constants.html",
"title": "Enum Constants.Device_Constants | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.Device_Constants C# Visual Basic [Serializable] public enum Device_Constants <Serializable> Public Enum Device_Constants Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description FIRST_HC MAX_DEVICE_CODES MAX_HOUSE_CODES"
},
"api/HomeSeer.PluginSdk.Constants.eDeviceSubType_SecurityArea.html": {
"href": "api/HomeSeer.PluginSdk.Constants.eDeviceSubType_SecurityArea.html",
"title": "Enum Constants.eDeviceSubType_SecurityArea | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.eDeviceSubType_SecurityArea C# Visual Basic [Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", false)] public enum eDeviceSubType_SecurityArea <Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", False)> Public Enum eDeviceSubType_SecurityArea Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description Area_Partition_2 Area_Partition_3 Area_Partition_4 Area_Partition_5 Area_Partition_6 Area_Partition_7 Area_Partition_8 Area_Partition_9 Invalid PRIMARY"
},
"api/HomeSeer.PluginSdk.Constants.eDeviceSubType_Setpoint.html": {
"href": "api/HomeSeer.PluginSdk.Constants.eDeviceSubType_Setpoint.html",
"title": "Enum Constants.eDeviceSubType_Setpoint | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.eDeviceSubType_Setpoint C# Visual Basic [Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", false)] public enum eDeviceSubType_Setpoint <Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", False)> Public Enum eDeviceSubType_Setpoint Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description Auto_Changeover Away_Heating Cooling_1 Dry_Air Energy_Save_Cool Energy_Save_Heat Furnace Heating_1 Invalid Moist_Air"
},
"api/HomeSeer.PluginSdk.Constants.eDeviceSubType_Temperature.html": {
"href": "api/HomeSeer.PluginSdk.Constants.eDeviceSubType_Temperature.html",
"title": "Enum Constants.eDeviceSubType_Temperature | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.eDeviceSubType_Temperature C# Visual Basic [Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", false)] public enum eDeviceSubType_Temperature <Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", False)> Public Enum eDeviceSubType_Temperature Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description _Unused_3 _Unused_4 Humidity Other_Temperature Temperature Temperature_1"
},
"api/HomeSeer.PluginSdk.Constants.eDeviceType_Energy.html": {
"href": "api/HomeSeer.PluginSdk.Constants.eDeviceType_Energy.html",
"title": "Enum Constants.eDeviceType_Energy | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.eDeviceType_Energy C# Visual Basic [Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", false)] public enum eDeviceType_Energy <Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", False)> Public Enum eDeviceType_Energy Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description Amps Graphing HS graphing device KWH kwh used Volts Watts"
},
"api/HomeSeer.PluginSdk.Constants.eDeviceType_Security.html": {
"href": "api/HomeSeer.PluginSdk.Constants.eDeviceType_Security.html",
"title": "Enum Constants.eDeviceType_Security | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.eDeviceType_Security C# Visual Basic [Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", false)] public enum eDeviceType_Security <Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", False)> Public Enum eDeviceType_Security Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description Alarm Arming Communicator Communicator status and (if available) control Keypad Output_Other A general purpose output (could be virtual as in a 'flag' output) Output_Relay A general purpose output relay Root Indicates a root device of a root/child grouping. Siren Siren output - status usually - control follows alarm state. Zone_Auxiliary An aux zone, not usually included in any arming mode Zone_Interior An interior zone (not normally armed in stay mode) Zone_Interior_Delay An interior zone (with a violation alarm delay when armed) Zone_Other A zone that does not fit any other zone description Zone_Perimeter A perimeter zone Zone_Perimeter_Delay A perimeter zone with a violation alarm delay Zone_Safety_CO A Carbon Monoxide zone (not allowed to be bypassed) Zone_Safety_CO2 A Carbon Dioxide zone (not allowed to be bypassed) Zone_Safety_Other A zone for some other safety sensor that cannot be bypassed Zone_Safety_Smoke A smoke detector zone (not allowed to be bypassed)"
},
"api/HomeSeer.PluginSdk.Constants.eDeviceType_Thermostat.html": {
"href": "api/HomeSeer.PluginSdk.Constants.eDeviceType_Thermostat.html",
"title": "Enum Constants.eDeviceType_Thermostat | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.eDeviceType_Thermostat C# Visual Basic [Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", false)] public enum eDeviceType_Thermostat <Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", False)> Public Enum eDeviceType_Thermostat Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description Additional_Temperature Fan_Mode_Set Fan_Status Filter_Remind Hold_Mode Mode_Set Operating_Mode Operating_State Root RunTime Setback Setpoint Temperature"
},
"api/HomeSeer.PluginSdk.Constants.editions.html": {
"href": "api/HomeSeer.PluginSdk.Constants.editions.html",
"title": "Enum Constants.editions | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.editions C# Visual Basic public enum editions Public Enum editions Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll editions is the type of software features enabled. license ID determines which edition we are running Fields Name Description HS3BASIC HS3PRO HS3STANDARD HS3ZEE HS3ZEEASCII HS3ZEES2"
},
"api/HomeSeer.PluginSdk.Constants.eGraphInterval.html": {
"href": "api/HomeSeer.PluginSdk.Constants.eGraphInterval.html",
"title": "Enum Constants.eGraphInterval | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.eGraphInterval C# Visual Basic public enum eGraphInterval Public Enum eGraphInterval Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Fields Name Description Day Hour Minute Month Quarter Week Year"
},
"api/HomeSeer.PluginSdk.Constants.eGraphType.html": {
"href": "api/HomeSeer.PluginSdk.Constants.eGraphType.html",
"title": "Enum Constants.eGraphType | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.eGraphType C# Visual Basic public enum eGraphType Public Enum eGraphType Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Fields Name Description Bar Line Pie"
},
"api/HomeSeer.PluginSdk.Constants.enumEnergyDevice.html": {
"href": "api/HomeSeer.PluginSdk.Constants.enumEnergyDevice.html",
"title": "Enum Constants.enumEnergyDevice | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.enumEnergyDevice C# Visual Basic public enum enumEnergyDevice Public Enum enumEnergyDevice Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Fields Name Description _Undefined_ Not defined Appliance Any appliance Appliance_Large A large appliance such as an oven Appliance_Small A small appliance such as a toaster Electric_AC An Air Conditioning device Electric_Heat An electric heating device Entertainment An entertainment device Entertainment_Large A large entertainment device such as a home theatre system Entertainment_Small A small entertainment device such as a radio Generator An electricity producing generator. HVAC An HVAC device Light_Large A large light or several lights Light_Small A small light Meter An electric meter measuring usage for an unspecified or general purpose. Meter_Device An electric meter measuring usage for a single device. Meter_Service An electric meter measuring usage for electrical service such as a house service entrance. Other A device (consumer or producer) that does not fit any other device type. Panel An electrical panel providing several branches of electrical service to the home. Panel_A An electrical panel providing several branches of electrical service to the home. Panel_B An electrical panel providing several branches of electrical service to the home. Panel_C An electrical panel providing several branches of electrical service to the home. Panel_D An electrical panel providing several branches of electrical service to the home. Panel_E An electrical panel providing several branches of electrical service to the home. Panel_F An electrical panel providing several branches of electrical service to the home. Root The root device for child energy devices. Solar_Panel An electricity producing solar panel. Utility A utility device Utility_Large A large utility device such as a well pump Utility_Small A small utility device such as a water filter Water_Turbine An electricity producing water (wave) turbine. Wind_Turbine An electricity producing wind turbine."
},
"api/HomeSeer.PluginSdk.Constants.enumEnergyDirection.html": {
"href": "api/HomeSeer.PluginSdk.Constants.enumEnergyDirection.html",
"title": "Enum Constants.enumEnergyDirection | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.enumEnergyDirection C# Visual Basic public enum enumEnergyDirection Public Enum enumEnergyDirection Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Fields Name Description Consumed Produced"
},
"api/HomeSeer.PluginSdk.Constants.enumVCMDType.html": {
"href": "api/HomeSeer.PluginSdk.Constants.enumVCMDType.html",
"title": "Enum Constants.enumVCMDType | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.enumVCMDType C# Visual Basic public enum enumVCMDType Public Enum enumVCMDType Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description Both Disabled Microphone Telephone"
},
"api/HomeSeer.PluginSdk.Constants.EOsType.html": {
"href": "api/HomeSeer.PluginSdk.Constants.EOsType.html",
"title": "Enum Constants.EOsType | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.EOsType C# Visual Basic [Obsolete(\"This will be removed in a future release. Please use Types.EOsType as of v1.0.8.1\", false)] public enum EOsType <Obsolete(\"This will be removed in a future release. Please use Types.EOsType as of v1.0.8.1\", False)> Public Enum EOsType Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description Linux Windows"
},
"api/HomeSeer.PluginSdk.Constants.HSEvent.html": {
"href": "api/HomeSeer.PluginSdk.Constants.HSEvent.html",
"title": "Enum Constants.HSEvent | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.HSEvent C# Visual Basic public enum HSEvent Public Enum HSEvent Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description AUDIO CALLER_ID CONFIG_CHANGE GENERIC LOG RUN_SCRIPT_SPECIAL SETUP_CHANGE SPEAKER_CONNECT STRING_CHANGE VALUE_CHANGE VALUE_SET VOICE_REC"
},
"api/HomeSeer.PluginSdk.Constants.html": {
"href": "api/HomeSeer.PluginSdk.Constants.html",
"title": "Class Constants | HomeSeer PluginSdk Docs",
"keywords": "Class Constants C# Visual Basic public class Constants Public Class Constants Inheritance System.Object Constants Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields View Source eDeviceType_GenericRoot Declaration C# Visual Basic [Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", false)] public const int eDeviceType_GenericRoot = 999 <Obsolete(\"Do not use this Enum. This is only available to aid in upgrading legacy plugins. Use Devices.Identification instead\", False)> Public Const eDeviceType_GenericRoot As Integer = 999 Field Value Type Description System.Int32"
},
"api/HomeSeer.PluginSdk.Constants.REGISTRATION_MODES.html": {
"href": "api/HomeSeer.PluginSdk.Constants.REGISTRATION_MODES.html",
"title": "Enum Constants.REGISTRATION_MODES | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.REGISTRATION_MODES C# Visual Basic [Obsolete(\"This will be removed in a future release. Please use Types.ERegistrationMode as of v1.0.8.1\", false)] public enum REGISTRATION_MODES <Obsolete(\"This will be removed in a future release. Please use Types.ERegistrationMode as of v1.0.8.1\", False)> Public Enum REGISTRATION_MODES Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description REG_READY_TO_REGISTER REG_REGISTERED REG_TRIAL REG_UNKNOWN REG_UNREG"
},
"api/HomeSeer.PluginSdk.Constants.speak_error_values.html": {
"href": "api/HomeSeer.PluginSdk.Constants.speak_error_values.html",
"title": "Enum Constants.speak_error_values | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.speak_error_values C# Visual Basic [Obsolete(\"This will be removed in a future release. Please use Speech.ESpeakErrorValue as of v1.0.8.1\", false)] public enum speak_error_values <Obsolete(\"This will be removed in a future release. Please use Speech.ESpeakErrorValue as of v1.0.8.1\", False)> Public Enum speak_error_values Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. Fields Name Description SPEAK_ERROR_SENDING SPEAK_NO_CLIENTS SPEAK_NO_ERROR"
},
"api/HomeSeer.PluginSdk.Constants.speak_type_values.html": {
"href": "api/HomeSeer.PluginSdk.Constants.speak_type_values.html",
"title": "Enum Constants.speak_type_values | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.speak_type_values C# Visual Basic [Obsolete(\"This will be removed in a future release. Please use Speech.ESpeakTypeValue as of v1.0.8.1\", false)] public enum speak_type_values <Obsolete(\"This will be removed in a future release. Please use Speech.ESpeakTypeValue as of v1.0.8.1\", False)> Public Enum speak_type_values Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. Fields Name Description SPEAK_MESSAGE Text message SPEAK_TTS TTS voice SPEAK_WAVEFILE Play a wave file"
},
"api/HomeSeer.PluginSdk.Constants.TunnelCommand.html": {
"href": "api/HomeSeer.PluginSdk.Constants.TunnelCommand.html",
"title": "Enum Constants.TunnelCommand | HomeSeer PluginSdk Docs",
"keywords": "Enum Constants.TunnelCommand C# Visual Basic public enum TunnelCommand Public Enum TunnelCommand Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description Ack CloseConnection CloseConnectionHSTouch CreateHSTouchUser create a user/pass that is the MyHS user pass so HSTouch allows connections with these credentials Data DataHSTouch DeviceChange HS device has changed value, new value sent to tunned (mainly for IFTTT) DeviceChangeAll ErrorMessage data contains the error message ErrorMessageHSTouch NULL OpenConnection OpenConnectionHStouch RegisterHS RequestLicID tunnel requests license ID from HS after HS connects Unknown UseBOISSerialization use compact serialization"
},
"api/HomeSeer.PluginSdk.Devices.AbstractHsDevice.html": {
"href": "api/HomeSeer.PluginSdk.Devices.AbstractHsDevice.html",
"title": "Class AbstractHsDevice | HomeSeer PluginSdk Docs",
"keywords": "Class AbstractHsDevice C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public abstract class AbstractHsDevice <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public MustInherit Class AbstractHsDevice Inheritance System.Object AbstractHsDevice HsDevice HsFeature Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll The base implementation of a HomeSeer device. Used to represent devices and features as either a HsDevice or HsFeature Remarks Due to the fact that both HsDevice s and HsFeature s derive from this class some documentation may refer to either as a device. Be careful to ensure you know which one you are working with at all times to avoid unexpected InvalidOperationExceptions. Constructors View Source AbstractHsDevice() Create a new AbstractHsDevice with default properties Declaration C# Visual Basic protected AbstractHsDevice() Protected Sub New View Source AbstractHsDevice(Int32) Create a new AbstractHsDevice with a specific uniqueRef Declaration C# Visual Basic protected AbstractHsDevice(int uniqueRef) Protected Sub New(uniqueRef As Integer) Parameters Type Name Description System.Int32 uniqueRef The unique ID as an integer Fields View Source _address Declaration C# Visual Basic protected string _address Protected _address As String Field Value Type Description System.String View Source _assDevices Declaration C# Visual Basic protected HashSet<int> _assDevices Protected _assDevices As HashSet(Of Integer) Field Value Type Description System.Collections.Generic.HashSet < System.Int32 > View Source _cacheChanges Flag used to indicate whether to cache changes in Changes when setting properties and not adjust the underlying value or to cache changes in Changes and adjust the underlying value. Declaration C# Visual Basic protected bool _cacheChanges Protected _cacheChanges As Boolean Field Value Type Description System.Boolean Remarks Setting this to TRUE allows you to quickly revert changes made by discarding Changes View Source _displayedStatus Declaration C# Visual Basic protected string _displayedStatus Protected _displayedStatus As String Field Value Type Description System.String View Source _image Declaration C# Visual Basic protected string _image Protected _image As String Field Value Type Description System.String View Source _interface Declaration C# Visual Basic protected string _interface Protected _interface As String Field Value Type Description System.String View Source _invalidValue Declaration C# Visual Basic protected bool _invalidValue Protected _invalidValue As Boolean Field Value Type Description System.Boolean View Source _lastChange Declaration C# Visual Basic protected DateTime _lastChange Protected _lastChange As Date Field Value Type Description System.DateTime View Source _location Declaration C# Visual Basic protected string _location Protected _location As String Field Value Type Description System.String View Source _location2 Declaration C# Visual Basic protected string _location2 Protected _location2 As String Field Value Type Description System.String View Source _misc Declaration C# Visual Basic protected uint _misc Protected _misc As UInteger Field Value Type Description System.UInt32 View Source _name Declaration C# Visual Basic protected string _name Protected _name As String Field Value Type Description System.String View Source _plugExtraData Declaration C# Visual Basic protected PlugExtraData _plugExtraData Protected _plugExtraData As PlugExtraData Field Value Type Description PlugExtraData View Source _relationship Declaration C# Visual Basic protected ERelationship _relationship Protected _relationship As ERelationship Field Value Type Description ERelationship View Source _status Declaration C# Visual Basic protected string _status Protected _status As String Field Value Type Description System.String View Source _statusString Declaration C# Visual Basic protected string _statusString Protected _statusString As String Field Value Type Description System.String View Source _typeInfo Declaration C# Visual Basic protected TypeInfo _typeInfo Protected _typeInfo As TypeInfo Field Value Type Description TypeInfo View Source _userAccess Declaration C# Visual Basic protected string _userAccess Protected _userAccess As String Field Value Type Description System.String View Source _userNote Declaration C# Visual Basic protected string _userNote Protected _userNote As String Field Value Type Description System.String View Source _value Declaration C# Visual Basic protected double _value Protected _value As Double Field Value Type Description System.Double View Source _version Declaration C# Visual Basic protected double _version Protected _version As Double Field Value Type Description System.Double View Source _voiceCommand Declaration C# Visual Basic protected string _voiceCommand Protected _voiceCommand As String Field Value Type Description System.String Properties View Source Address A physical address for the device/feature. Use this to store a unique identifier for the physical device this device/feature is associated with. Declaration C# Visual Basic public string Address { get; set; } Public Property Address As String Property Value Type Description System.String Remarks Since v1.2.5.0, this field is overloaded with the legacy Code field for backwards compatibility. If you are accessing a device/feature that was created using this API then you can safely ignore this remark. If you are accessing a device/feature that was created using the HS3 legacy API you may note that this field now includes the Code value if it exists. You can get the Code directly by using the Code field. This table shows the return value of Address based on the value stored in the HS database. Address Value Returns Address Only Address Code Only Code Address and Code Address-Code You can use GetAddressFromAddressString(String) and GetCodeFromAddressString(String) to pull the address and code, respectively, from this value. View Source AssociatedDevices A set of unique IDs that represent the devices/features that are associated with this device/feature Declaration C# Visual Basic public HashSet<int> AssociatedDevices { get; set; } Public Property AssociatedDevices As HashSet(Of Integer) Property Value Type Description System.Collections.Generic.HashSet < System.Int32 > View Source Changes A collection of changes to the device/feature since its initialization Declaration C# Visual Basic public Dictionary<EProperty, object> Changes { get; } Public ReadOnly Property Changes As Dictionary(Of EProperty, Object) Property Value Type Description System.Collections.Generic.Dictionary < EProperty , System.Object > Remarks This acts as a local cache and makes it easier to change multiple things about a device/feature and then send all of the changes to HomeSeer as a bundle via UpdateDeviceByRef(Int32, Dictionary<EProperty, Object>) or UpdateFeatureByRef(Int32, Dictionary<EProperty, Object>) View Source Code Get the code stored in the Address string. Declaration C# Visual Basic public string Code { get; } Public ReadOnly Property Code As String Property Value Type Description System.String Remarks This field is only used for legacy support and grabs a value from the Address field directly. The code is grabbed from the Address field by using GetCodeFromAddressString(String) View Source DisplayedStatus The current status of the device/feature This is the exact string that users see in the UI Declaration C# Visual Basic public string DisplayedStatus { get; set; } Public Property DisplayedStatus As String Property Value Type Description System.String See Also StatusString View Source Image The address of an image that represents the current status of the device/feature Declaration C# Visual Basic public string Image { get; set; } Public Property Image As String Property Value Type Description System.String View Source Interface The ID of the interface that is responsible for processing interactions with this device/feature Declaration C# Visual Basic public string Interface { get; set; } Public Property Interface As String Property Value Type Description System.String View Source IsValueInvalid Whether the device/feature is in an invalid state and should display as such to users. Declaration C# Visual Basic public bool IsValueInvalid { get; set; } Public Property IsValueInvalid As Boolean Property Value Type Description System.Boolean Remarks Use this as a manual way to flag the device/feature as invalid when the automatic check through IsValueValid() will not produce the desired result. Setting this to TRUE will force the device/feature's state to invalid. View Source LastChange The date and time that this device/feature was last updated or changed Declaration C# Visual Basic public DateTime LastChange { get; set; } Public Property LastChange As Date Property Value Type Description System.DateTime View Source Location The primary location of the device/feature according to the locations configured on the user's system Declaration C# Visual Basic public string Location { get; set; } Public Property Location As String Property Value Type Description System.String Remarks Do not set this directly on features. It will be ignored/overwritten in favor of the location set on the owning device. To optimize the user experience, it is recommended to ask the user which location they wish to assign to a device before finishing the inclusion process. View Source Location2 The secondary location of the device/feature according to the locations configured on the user's system Declaration C# Visual Basic public string Location2 { get; set; } Public Property Location2 As String Property Value Type Description System.String Remarks Do not set this directly on features. It will be ignored/overwritten in favor of the location2 set on the owning device. To optimize the user experience, it is recommended to ask the user which location they wish to assign to a device before finishing the inclusion process. View Source Misc A collection of bit flags used to represent various configuration options for a device/feature. It is not recommended to set this directly. Instead, use AddMiscFlag(EMiscFlag) , RemoveMiscFlag(EMiscFlag) , and ContainsMiscFlag(EMiscFlag) to interface with this property Declaration C# Visual Basic public uint Misc { get; set; } Public Property Misc As UInteger Property Value Type Description System.UInt32 See Also EMiscFlag View Source Name The name of the device/feature Declaration C# Visual Basic public string Name { get; set; } Public Property Name As String Property Value Type Description System.String Remarks To optimize the user experience, it is recommended to ask the user what name they wish to assign to the device before finishing the inclusion process. View Source PlugExtraData A memory space available for plugins to store keyed and non-keyed data associated with the device/feature Declaration C# Visual Basic public PlugExtraData PlugExtraData { get; set; } Public Property PlugExtraData As PlugExtraData Property Value Type Description PlugExtraData Remarks Use this to store device/feature specific configuration options accessed via the DeviceConfig page See Also PlugExtraData View Source Ref The unique identifier for this device/feature. This is the primary key for devices and features in HomeSeer. Declaration C# Visual Basic public int Ref { get; } Public ReadOnly Property Ref As Integer Property Value Type Description System.Int32 View Source Relationship The type of relationship this device/feature has with other devices/features. See ERelationship for valid types and more details. Declaration C# Visual Basic public ERelationship Relationship { get; set; } Public Property Relationship As ERelationship Property Value Type Description ERelationship Exceptions Type Condition DeviceRelationshipException Thrown when setting the relationship while there are listed devices/features still associated with this device/feature View Source Status The current status of the device/feature. (incorrect - the raw, unformatted status string) WARNING - This property is being replaced by StatusString and DisplayedStatus Declaration C# Visual Basic [Obsolete(\"This property is being replaced by StatusString and DisplayedStatus\", false)] public string Status { get; set; } <Obsolete(\"This property is being replaced by StatusString and DisplayedStatus\", False)> Public Property Status As String Property Value Type Description System.String View Source StatusString The raw, unformatted status of the device/feature. This is combined with a string returned from a StatusGraphic or StatusControl that matches the current Value to produce the DisplayedStatus Declaration C# Visual Basic public string StatusString { get; set; } Public Property StatusString As String Property Value Type Description System.String View Source TypeInfo Type info for this device/feature Declaration C# Visual Basic public TypeInfo TypeInfo { get; set; } Public Property TypeInfo As TypeInfo Property Value Type Description TypeInfo Remarks This is used to describe this device/feature in a manner that is easily understood by UI generation engines and other smart home platforms. When these systems can understand what this device/feature is, they are better able to tailor the experience of the user to their expectations. See Also TypeInfo View Source UserAccess A string representation of the HomeSeer user access rights for this device/feature Declaration C# Visual Basic public string UserAccess { get; set; } Public Property UserAccess As String Property Value Type Description System.String Remarks This is typically configured by users and can be safely ignored when creating a HsDevice or HsFeature View Source UserNote Notes attached to this device/feature by users Declaration C# Visual Basic public string UserNote { get; set; } Public Property UserNote As String Property Value Type Description System.String Remarks This is typically configured by users and can be safely ignored when creating a HsDevice or HsFeature View Source Value A numeric value representing the current state of the device/feature. Declaration C# Visual Basic public double Value { get; set; } Public Property Value As Double Property Value Type Description System.Double Remarks Although this is available on devices it should not be set directly. This should only be set on features; as the information of the identified primary feature will be automatically pushed to the device to better adhere to user experience expectations. This value relates to the TargetValue and TargetRange properties on the StatusControl and StatusGraphic classes. View Source Version The version of the internal structure used in HomeSeer Core to represent this device/feature Declaration C# Visual Basic public double Version { get; set; } Public Property Version As Double Property Value Type Description System.Double Remarks When loading a device/feature created by a legacy plugin this property is less than or equal to 3.2. When loading a device/feature created by a plugin using this SDK, this property is equal to 4.0 To migrate a device/feature created by a legacy plugin, first clear all its attached StatusControl and StatusGraphic using ClearStatusControlsByRef(Int32) and ClearStatusGraphicsByRef(Int32) , for features only recreate some new StatusControl and StatusGraphic using methods such as AddStatusControlToFeature(Int32, StatusControl) and AddStatusGraphicToFeature(Int32, StatusGraphic) , then set the Version property to 4.0. View Source VoiceCommand A voice friendly command string used to identify this device/feature Declaration C# Visual Basic public string VoiceCommand { get; set; } Public Property VoiceCommand As String Property Value Type Description System.String Methods View Source AddMiscFlag(EMiscFlag) Add the specified EMiscFlag to the device/feature Declaration C# Visual Basic public void AddMiscFlag(EMiscFlag misc) Public Sub AddMiscFlag(misc As EMiscFlag) Parameters Type Name Description EMiscFlag misc The EMiscFlag to add View Source ClearMiscFlags() Clear all EMiscFlag s on the device/feature. Declaration C# Visual Basic public void ClearMiscFlags() Public Sub ClearMiscFlags View Source ContainsMiscFlag(EMiscFlag) Determine if the device/feature contains the specified EMiscFlag Declaration C# Visual Basic public bool ContainsMiscFlag(EMiscFlag misc) Public Function ContainsMiscFlag(misc As EMiscFlag) As Boolean Parameters Type Name Description EMiscFlag misc The EMiscFlag to look for Returns Type Description System.Boolean TRUE if the device/feature contains the EMiscFlag , FALSE if it does not. View Source GetAddressFromAddressString(String) Get the address from an address-code string. Declaration C# Visual Basic public static string GetAddressFromAddressString(string addressString) Public Shared Function GetAddressFromAddressString(addressString As String) As String Parameters Type Name Description System.String addressString The Address -Code value string to parse Returns Type Description System.String The Address value from the string Remarks HS3 supported an Address and Code field, but the Code field has been deprecated. The Address and Code fields used to also be combined into a single string with the format of ${ADDRESS}-${CODE}. The pseudocode for this is \"${ADDRESS}-${CODE}\".Trim('-'); To maintain backwards compatibility support, the Address field will be overloaded with the Code for devices created using HS3. Use this method to get the address from the returned address-code string. View Source GetCodeFromAddressString(String) Get the code from an address-code string. Declaration C# Visual Basic public static string GetCodeFromAddressString(string addressString) Public Shared Function GetCodeFromAddressString(addressString As String) As String Parameters Type Name Description System.String addressString The Address -Code value string to parse Returns Type Description System.String The Code value from the string Remarks HS3 supported an Address and Code field, but the Code field has been deprecated. The Address and Code fields used to also be combined into a single string with the format of ${ADDRESS}-${CODE}. The pseudocode for this is \"${ADDRESS}-${CODE}\".Trim('-'); To maintain backwards compatibility support, the Address field will be overloaded with the Code for devices created using HS3. Use this method to get the address from the returned address-code string. View Source GetMiscForFlags(EMiscFlag[]) Get the value for any combination of EMiscFlag s Declaration C# Visual Basic public static uint GetMiscForFlags(params EMiscFlag[] misc) Public Shared Function GetMiscForFlags(ParamArray misc As EMiscFlag()) As UInteger Parameters Type Name Description EMiscFlag [] misc EMiscFlag s to combine Returns Type Description System.UInt32 A uint representing the combined EMiscFlag s View Source IsValueValid() Determine whether the current value is valid. Declaration C# Visual Basic protected virtual bool IsValueValid() Protected Overridable Function IsValueValid As Boolean Returns Type Description System.Boolean Always TRUE when not overriden View Source RemoveMiscFlag(EMiscFlag) Remove the specified EMiscFlag from the device/feature Declaration C# Visual Basic public void RemoveMiscFlag(EMiscFlag misc) Public Sub RemoveMiscFlag(misc As EMiscFlag) Parameters Type Name Description EMiscFlag misc The EMiscFlag to remove View Source RevertChanges() Clear all changes since initialization and reset the Changes property Declaration C# Visual Basic public void RevertChanges() Public Sub RevertChanges"
},
"api/HomeSeer.PluginSdk.Devices.AbstractStatus.html": {
"href": "api/HomeSeer.PluginSdk.Devices.AbstractStatus.html",
"title": "Class AbstractStatus | HomeSeer PluginSdk Docs",
"keywords": "Class AbstractStatus C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public abstract class AbstractStatus <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public MustInherit Class AbstractStatus Inheritance System.Object AbstractStatus Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll The base implementation of a status defined for a HsFeature either as a StatusControl or StatusGraphic Properties View Source IsRange Whether this status is targeted by a range of values instead of a single value Declaration C# Visual Basic public bool IsRange { get; set; } Public Property IsRange As Boolean Property Value Type Description System.Boolean View Source Label The label displayed for this status Declaration C# Visual Basic public string Label { get; set; } Public Property Label As String Property Value Type Description System.String View Source RangeMax The maximum value targeted by the TargetRange Declaration C# Visual Basic public double RangeMax { get; set; } Public Property RangeMax As Double Property Value Type Description System.Double View Source RangeMin The minimum value targeted by the TargetRange Declaration C# Visual Basic public double RangeMin { get; set; } Public Property RangeMin As Double Property Value Type Description System.Double View Source TargetRange The range of values the status targets Declaration C# Visual Basic public ValueRange TargetRange { get; set; } Public Property TargetRange As ValueRange Property Value Type Description ValueRange See Also ValueRange View Source Value The value the status targets. If IsRange is TRUE then this is ignored in favor of TargetRange Declaration C# Visual Basic public double Value { get; set; } Public Property Value As Double Property Value Type Description System.Double Methods View Source GetLabelForValue(Double) Get the label for the specified value correctly formatted according to the status's configuration Declaration C# Visual Basic public string GetLabelForValue(double value) Public Function GetLabelForValue(value As Double) As String Parameters Type Name Description System.Double value The value to get the label for Returns Type Description System.String The value as a string formatted according to the TargetRange configuration. Exceptions Type Condition System.ArgumentOutOfRangeException Thrown when the value is not targeted by the status View Source IsValueInRange(Double) Determine if a specified value is targeted by the status Declaration C# Visual Basic public bool IsValueInRange(double value) Public Function IsValueInRange(value As Double) As Boolean Parameters Type Name Description System.Double value The value to check Returns Type Description System.Boolean TRUE if the value is targeted by the status, FALSE if it is not View Source TryGetLabelForValue(out String, Double) Try to get the label for the specified value correctly formatted according to the status's configuration. Declaration C# Visual Basic public bool TryGetLabelForValue(out string label, double value) Public Function TryGetLabelForValue(ByRef label As String, value As Double) As Boolean Parameters Type Name Description System.String label The string variable the label will be written to System.Double value The value to get the label for Returns Type Description System.Boolean TRUE if a label is available for the status, FALSE if the value is not valid for this status or there is no label defined."
},
"api/HomeSeer.PluginSdk.Devices.Controls.ControlEvent.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Controls.ControlEvent.html",
"title": "Class ControlEvent | HomeSeer PluginSdk Docs",
"keywords": "Class ControlEvent C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class ControlEvent <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class ControlEvent Inheritance System.Object ControlEvent Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices.Controls Assembly : PluginSdk.dll The description of an event representing a controlled change of a HsFeature . Constructors View Source ControlEvent(Int32) Create a new ControlEvent for a Ref Declaration C# Visual Basic public ControlEvent(int devRef) Public Sub New(devRef As Integer) Parameters Type Name Description System.Int32 devRef The Ref of the HsFeature being controlled Fields View Source _controlString Declaration C# Visual Basic string _controlString _controlString As String Field Value Type Description System.String View Source _controlType Declaration C# Visual Basic EControlType _controlType _controlType As EControlType Field Value Type Description EControlType View Source _controlUse Declaration C# Visual Basic EControlUse _controlUse _controlUse As EControlUse Field Value Type Description EControlUse View Source _controlValue Declaration C# Visual Basic double _controlValue _controlValue As Double Field Value Type Description System.Double View Source _index Declaration C# Visual Basic int _index _index As Integer Field Value Type Description System.Int32 View Source _label Declaration C# Visual Basic string _label _label As String Field Value Type Description System.String View Source _ref Declaration C# Visual Basic int _ref _ref As Integer Field Value Type Description System.Int32 Properties View Source CCIndex A unique index representing the CAPIControl in HomeSeer. Declaration C# Visual Basic [Obsolete(\"This is a carry over from the legacy API. It should not need to be used anymore and is maintained for compatibility.\", false)] public int CCIndex { get; set; } <Obsolete(\"This is a carry over from the legacy API. It should not need to be used anymore and is maintained for compatibility.\", False)> Public Property CCIndex As Integer Property Value Type Description System.Int32 Remarks This is a carry over from the legacy API. It should not need to be used anymore and is maintained for compatibility. View Source ControlString A string containing control data for the event. This is used for ColorPicker s Declaration C# Visual Basic public string ControlString { get; set; } Public Property ControlString As String Property Value Type Description System.String Remarks This is NOT the Label to display in the DisplayedStatus of the HsFeature . This is not displayed anywhere. View Source ControlType The EControlType of the StatusControl used to generate this event. Declaration C# Visual Basic public EControlType ControlType { get; set; } Public Property ControlType As EControlType Property Value Type Description EControlType View Source ControlUse The EControlUse of the StatusControl used to generate this event. Declaration C# Visual Basic public EControlUse ControlUse { get; set; } Public Property ControlUse As EControlUse Property Value Type Description EControlUse View Source ControlValue The target value for the event. This is the desired Value Declaration C# Visual Basic public double ControlValue { get; set; } Public Property ControlValue As Double Property Value Type Description System.Double View Source Label A human-readable string representing the label to display on the HsFeature for this event. Declaration C# Visual Basic public string Label { get; set; } Public Property Label As String Property Value Type Description System.String View Source TargetRef The Ref of the HsFeature being controlled. Declaration C# Visual Basic public int TargetRef { get; set; } Public Property TargetRef As Integer Property Value Type Description System.Int32 See Also StatusControl CreateControlEvent(Double)"
},
"api/HomeSeer.PluginSdk.Devices.Controls.ControlLocation.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Controls.ControlLocation.html",
"title": "Class ControlLocation | HomeSeer PluginSdk Docs",
"keywords": "Class ControlLocation C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class ControlLocation <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class ControlLocation Inheritance System.Object ControlLocation Inherited Members System.Object.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices.Controls Assembly : PluginSdk.dll The location and size of a control available on a HsFeature . It describes the row and column a control occupies in the grid as well as how many columns wide it is. Constructors View Source ControlLocation() Initialize a new location with a row and column position of 0 and a width of 1 column. Declaration C# Visual Basic public ControlLocation() Public Sub New View Source ControlLocation(Int32, Int32, Int32) Initialize a new location with the specified row and column position and desired width. Declaration C# Visual Basic public ControlLocation(int row, int column, int width = 1) Public Sub New(row As Integer, column As Integer, width As Integer = 1) Parameters Type Name Description System.Int32 row The 1 index of the location row. Must be >= 1 System.Int32 column The 1 index of the location column. Must be >= 1 System.Int32 width The number of columns the control occupies. Must be >= 1 Fields View Source _column Declaration C# Visual Basic int _column _column As Integer Field Value Type Description System.Int32 View Source _row Declaration C# Visual Basic int _row _row As Integer Field Value Type Description System.Int32 View Source _width Declaration C# Visual Basic int _width _width As Integer Field Value Type Description System.Int32 Properties View Source Column The column the control is located in. This is a 1 based index starting from the left side and going right. Declaration C# Visual Basic public int Column { get; set; } Public Property Column As Integer Property Value Type Description System.Int32 View Source Row The row the control is located in. This is a 1 based index starting from the top and going down. Declaration C# Visual Basic public int Row { get; set; } Public Property Row As Integer Property Value Type Description System.Int32 View Source Width The number of columns the control takes up Must be between 1 and 4. Declaration C# Visual Basic public int Width { get; set; } Public Property Width As Integer Property Value Type Description System.Int32 Methods View Source Equals(Object) Compare this object with another to see if they are equal Declaration C# Visual Basic public override bool Equals(object obj) Public Overrides Function Equals(obj As Object) As Boolean Parameters Type Name Description System.Object obj The object to compare Returns Type Description System.Boolean langword_csharp_True if they are equal, langword_csharp_False if they are not Overrides System.Object.Equals(System.Object) View Source GetHashCode() Get the hash code Declaration C# Visual Basic public override int GetHashCode() Public Overrides Function GetHashCode As Integer Returns Type Description System.Int32 A hash code based on the Row , Column and Width values Overrides System.Object.GetHashCode()"
},
"api/HomeSeer.PluginSdk.Devices.Controls.EControlFlag.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Controls.EControlFlag.html",
"title": "Enum EControlFlag | HomeSeer PluginSdk Docs",
"keywords": "Enum EControlFlag C# Visual Basic public enum EControlFlag : uint Public Enum EControlFlag As UInteger Namespace : HomeSeer.PluginSdk.Devices.Controls Assembly : PluginSdk.dll Special configuration flags that adjust the behavior of a StatusControl . Fields Name Description HasAdditionalData The StatusControl label includes additional data tokens to be replaced by strings in AdditionalStatusData This is toggled by setting HasAdditionalData to true InvalidStatusTarget The StatusControl should not show up as a status target for events. IE it is only for creating control events This is toggled by setting IsInvalidStatusTarget to true"
},
"api/HomeSeer.PluginSdk.Devices.Controls.EControlType.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Controls.EControlType.html",
"title": "Enum EControlType | HomeSeer PluginSdk Docs",
"keywords": "Enum EControlType C# Visual Basic public enum EControlType Public Enum EControlType Namespace : HomeSeer.PluginSdk.Devices.Controls Assembly : PluginSdk.dll Render style and general behavior for a StatusControl . Remarks This is used by HomeSeer to determine how a StatusControl should look, feel, and behave for a user. Fields Name Description Button Rendered as a button. ButtonScript Rendered as a button. Executes a script when activated. ColorPicker Rendered as a color picker. RadioOption Rendered as a radio button StatusOnly This is not rendered. TextBoxNumber Rendered as a number input box. TextBoxString Rendered as a text input box. TextSelectList Rendered as a select list. ValueRangeDropDown Rendered as a select list. Options are determined by the TargetRange 's Min , Max , and Divisor ValueRangeSlider Rendered as a slider. Values Rendered as a select list option. See Also ControlType"
},
"api/HomeSeer.PluginSdk.Devices.Controls.EControlUse.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Controls.EControlUse.html",
"title": "Enum EControlUse | HomeSeer PluginSdk Docs",
"keywords": "Enum EControlUse C# Visual Basic public enum EControlUse Public Enum EControlUse Namespace : HomeSeer.PluginSdk.Devices.Controls Assembly : PluginSdk.dll Defines what a StatusControl is used for. Remarks This is primarily used to improve integrations with 3rd-party systems. It helps determine how a control is used within the context of the owning HsFeature . Fields Name Description ColorControl This control is used to adjust the color of a feature. ContactActive Used for integrations to represent a status indicating a contact sensor triggering. ContactInActive Used for integrations to represent a status indicating a contact sensor being reset. CoolSetPoint This control is used to set the desired temperature when cooling. DecrementValue This control is used to decrement the value of a feature. Dim This control is used to adjust the brightness of a light. DimFan This control is used to adjust the rate for a fan. DoorLock This control is used to lock a door. DoorUnLock This control is used to unlock a door. Forward This control is used to fast-forward media playback. HeatSetPoint This control is used to set the desired temperature when heating. IncrementValue This control is used to increment the value of a feature. MotionActive Used for integrations to represent a status indicating active motion. MotionInActive Used for integrations to represent a status indicating a motion sensor resetting to idle. Mute This control is used to mute media playback. MuteToggle This control is used to mute or un-mute media playback. Next This control is used to advance to the next track available for playback. NotSpecified Default use. The control's use is not defined. Off This control is used to turn something off. On This control is used to turn something on. OnAlternate This control is used as an alternative command to turn something on. Pause This control is used to pause media playback. Play This control is used to play media. Previous This control is used to select the previous track for media playback. Repeat This control is used to repeat media playback. Rewind This control is used to rewind media playback. Shuffle This control is used to shuffle the media playback. Stop This control is used to stop media playback. ThermFanAuto This control is used to set the fan mode for a thermostat to auto. ThermFanOn This control is used to set the fan mode for a thermostat to on. ThermModeAuto This control is used to set the thermostat operation mode to auto. ThermModeCool This control is used to set the thermostat operation mode to cool. ThermModeHeat This control is used to set the thermostat operation mode to heat. ThermModeOff This control is used to set the thermostat operation mode to off. UnMute This control is used to un-mute media playback. Volume This control is used to adjust the volume of media playback."
},
"api/HomeSeer.PluginSdk.Devices.Controls.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Controls.html",
"title": "Namespace HomeSeer.PluginSdk.Devices.Controls | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk.Devices.Controls Classes ControlEvent The description of an event representing a controlled change of a HsFeature . ControlLocation The location and size of a control available on a HsFeature . It describes the row and column a control occupies in the grid as well as how many columns wide it is. StatusControl A control associated with a feature on a HomeSeer system. Formerly referred to as a VSPair. This defines a control that will be available for a user to interact with. StatusControlCollection A managed collection of StatusControl s Enums EControlFlag Special configuration flags that adjust the behavior of a StatusControl . EControlType Render style and general behavior for a StatusControl . EControlUse Defines what a StatusControl is used for."
},
"api/HomeSeer.PluginSdk.Devices.Controls.StatusControl.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Controls.StatusControl.html",
"title": "Class StatusControl | HomeSeer PluginSdk Docs",
"keywords": "Class StatusControl C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class StatusControl <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class StatusControl Inheritance System.Object StatusControl Inherited Members System.Object.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices.Controls Assembly : PluginSdk.dll A control associated with a feature on a HomeSeer system. Formerly referred to as a VSPair. This defines a control that will be available for a user to interact with. Remarks Legacy VSPairs used to be able to be defined as either status-only, control-only, or both, but this is no longer allowed. All StatusControls are considered both, and a StatusGraphic will override the DisplayedStatus on the feature if it is configured for the feature's current Value . If you are looking to add a status-only control to a feature, create a StatusGraphic instead. Constructors View Source StatusControl(EControlType) Initialize a new StatusControl of the specified type Declaration C# Visual Basic public StatusControl(EControlType type) Public Sub New(type As EControlType) Parameters Type Name Description EControlType type The EControlType of the control Exceptions Type Condition System.ArgumentOutOfRangeException Thrown if an invalid type is specified Fields View Source _controlStates Declaration C# Visual Basic List<string> _controlStates _controlStates As List(Of String) Field Value Type Description System.Collections.Generic.List < System.String > View Source _controlType Declaration C# Visual Basic EControlType _controlType _controlType As EControlType Field Value Type Description EControlType View Source _controlUse Declaration C# Visual Basic EControlUse _controlUse _controlUse As EControlUse Field Value Type Description EControlUse View Source _flags Declaration C# Visual Basic uint _flags _flags As UInteger Field Value Type Description System.UInt32 View Source _isRange Declaration C# Visual Basic bool _isRange _isRange As Boolean Field Value Type Description System.Boolean View Source _label Declaration C# Visual Basic string _label _label As String Field Value Type Description System.String View Source _location Declaration C# Visual Basic ControlLocation _location _location As ControlLocation Field Value Type Description ControlLocation View Source _targetRange Declaration C# Visual Basic ValueRange _targetRange _targetRange As ValueRange Field Value Type Description ValueRange View Source _targetValue Declaration C# Visual Basic double _targetValue _targetValue As Double Field Value Type Description System.Double Properties View Source Column The column that the StatusControl is located at Declaration C# Visual Basic public int Column { get; } Public ReadOnly Property Column As Integer Property Value Type Description System.Int32 View Source ControlStates The possible states available for users to set this control to. This is only used when the ControlType is set to TextSelectList Declaration C# Visual Basic public List<string> ControlStates { get; set; } Public Property ControlStates As List(Of String) Property Value Type Description System.Collections.Generic.List < System.String > View Source ControlType The style the control is displayed as to users Declaration C# Visual Basic public EControlType ControlType { get; set; } Public Property ControlType As EControlType Property Value Type Description EControlType See Also EControlType View Source ControlUse What the StatusControl is used for. See EControlUse for more information. Declaration C# Visual Basic public EControlUse ControlUse { get; set; } Public Property ControlUse As EControlUse Property Value Type Description EControlUse See Also EControlUse View Source HasAdditionalData Whether the StatusControl label includes additional data tokens to be replaced by strings in AdditionalStatusData Declaration C# Visual Basic public bool HasAdditionalData { get; set; } Public Property HasAdditionalData As Boolean Property Value Type Description System.Boolean View Source IsInvalidStatusTarget Whether the StatusControl should be available as a status target for events and other platform integrations Declaration C# Visual Basic public bool IsInvalidStatusTarget { get; set; } Public Property IsInvalidStatusTarget As Boolean Property Value Type Description System.Boolean FALSE if the StatusControl is a valid status target, TRUE if it is not. See Also InvalidStatusTarget View Source IsRange Whether the StatusControl targets a range of values or a single value. Settings this to TRUE will cause the TargetValue field to be ignored in favor of the TargetRange Declaration C# Visual Basic public bool IsRange { get; set; } Public Property IsRange As Boolean Property Value Type Description System.Boolean View Source Label The text displayed on the control. Unless overridden by a Label associated with the same feature, this text is used as the status for the corresponding value. Declaration C# Visual Basic public string Label { get; set; } Public Property Label As String Property Value Type Description System.String View Source Location The location of the StatusControl when displayed to users Declaration C# Visual Basic public ControlLocation Location { get; set; } Public Property Location As ControlLocation Property Value Type Description ControlLocation See Also ControlLocation View Source Row The row that the StatusControl is located at Declaration C# Visual Basic public int Row { get; } Public ReadOnly Property Row As Integer Property Value Type Description System.Int32 View Source TargetRange The range of values that the StatusControl targets. If IsRange is FALSE then this is ignored in favor of TargetValue Declaration C# Visual Basic public ValueRange TargetRange { get; set; } Public Property TargetRange As ValueRange Property Value Type Description ValueRange See Also ValueRange View Source TargetValue The value this StatusControl targets. If IsRange is TRUE then this is ignored in favor of TargetRange Declaration C# Visual Basic public double TargetValue { get; set; } Public Property TargetValue As Double Property Value Type Description System.Double View Source Width The number of columns the StatusControl occupies Declaration C# Visual Basic public int Width { get; } Public ReadOnly Property Width As Integer Property Value Type Description System.Int32 Methods View Source AddFlag(EControlFlag) Add the specified EControlFlag to the StatusControl Declaration C# Visual Basic void AddFlag(EControlFlag controlFlag) Sub AddFlag(controlFlag As EControlFlag) Parameters Type Name Description EControlFlag controlFlag The EControlFlag to add View Source ClearFlags() Clear all EControlFlag s on the StatusControl. Declaration C# Visual Basic void ClearFlags() Sub ClearFlags View Source ContainsFlag(EControlFlag) Determine if the StatusControl contains the specified EControlFlag Declaration C# Visual Basic bool ContainsFlag(EControlFlag controlFlag) Function ContainsFlag(controlFlag As EControlFlag) As Boolean Parameters Type Name Description EControlFlag controlFlag The EControlFlag to look for Returns Type Description System.Boolean TRUE if the StatusControl contains the EControlFlag , FALSE if it does not. View Source CreateControlEvent(Int32) Create a ControlEvent from this StatusControl for a given devRef . This uses the TargetValue for the ControlValue Declaration C# Visual Basic public ControlEvent CreateControlEvent(int devRef) Public Function CreateControlEvent(devRef As Integer) As ControlEvent Parameters Type Name Description System.Int32 devRef The Ref of the HsFeature being controlled. Returns Type Description ControlEvent A ControlEvent View Source CreateControlEvent(Int32, Double) Create a ControlEvent from this StatusControl for a given value and devRef . Declaration C# Visual Basic public ControlEvent CreateControlEvent(int devRef, double value) Public Function CreateControlEvent(devRef As Integer, value As Double) As ControlEvent Parameters Type Name Description System.Int32 devRef The Ref of the HsFeature being controlled. System.Double value The target Value for the HsFeature Returns Type Description ControlEvent A ControlEvent Remarks Use this when the StatusControl is a range and a specific value must by chosen within that range. Exceptions Type Condition System.ArgumentOutOfRangeException Thrown when the value is not targeted by the StatusControl View Source Equals(Object) Compare this object with another to see if they are equal Declaration C# Visual Basic public override bool Equals(object obj) Public Overrides Function Equals(obj As Object) As Boolean Parameters Type Name Description System.Object obj The object to compare Returns Type Description System.Boolean true if they are equal, false if they are not Overrides System.Object.Equals(System.Object) View Source GetHashCode() Get the hash code Declaration C# Visual Basic public override int GetHashCode() Public Overrides Function GetHashCode As Integer Returns Type Description System.Int32 A hash code based on the Min of TargetRange if IsRange is true or TargetValue if it is false . Overrides System.Object.GetHashCode() View Source GetLabelForValue(Double, String[]) Get the label for the specified value correctly formatted according to the StatusControl 's configuration Declaration C# Visual Basic public string GetLabelForValue(double value, string[] additionalData = null) Public Function GetLabelForValue(value As Double, additionalData As String() = Nothing) As String Parameters Type Name Description System.Double value The value to get the label for System.String [] additionalData Additional data to include in the status label that replaces any tokens from GetAdditionalDataToken(Int32) included in the status. Returns Type Description System.String The value as a string formatted according to the TargetRange configuration. Exceptions Type Condition System.ArgumentOutOfRangeException Thrown when the value is not targeted by the StatusControl View Source IsValueInRange(Double) Determine if a specified value is targeted by the StatusControl \"/> Declaration C# Visual Basic public bool IsValueInRange(double value) Public Function IsValueInRange(value As Double) As Boolean Parameters Type Name Description System.Double value The value to check Returns Type Description System.Boolean TRUE if the value is targeted by the StatusControl , FALSE if it is not View Source RemoveFlag(EControlFlag) Remove the specified EControlFlag from the StatusControl Declaration C# Visual Basic void RemoveFlag(EControlFlag controlFlag) Sub RemoveFlag(controlFlag As EControlFlag) Parameters Type Name Description EControlFlag controlFlag The EControlFlag to remove View Source ReplaceAdditionalData(String, String[]) Declaration C# Visual Basic string ReplaceAdditionalData(string label, string[] additionalData) Function ReplaceAdditionalData(label As String, additionalData As String()) As String Parameters Type Name Description System.String label System.String [] additionalData Returns Type Description System.String View Source TryGetLabelForValue(out String, Double, String[]) Try to get the label for the specified value correctly formatted according to the StatusControl 's configuration. Declaration C# Visual Basic public bool TryGetLabelForValue(out string label, double value, string[] additionalData = null) Public Function TryGetLabelForValue(ByRef label As String, value As Double, additionalData As String() = Nothing) As Boolean Parameters Type Name Description System.String label The string variable the label will be written to System.Double value The value to get the label for System.String [] additionalData Additional data to include in the status label that replaces any tokens from GetAdditionalDataToken(Int32) included in the status. Returns Type Description System.Boolean TRUE if a label is available for the StatusControl , FALSE if the value is not valid for this StatusControl or there is no label defined. See Also StatusGraphic"
},
"api/HomeSeer.PluginSdk.Devices.Controls.StatusControlCollection.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Controls.StatusControlCollection.html",
"title": "Class StatusControlCollection | HomeSeer PluginSdk Docs",
"keywords": "Class StatusControlCollection C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class StatusControlCollection <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class StatusControlCollection Inheritance System.Object StatusControlCollection Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices.Controls Assembly : PluginSdk.dll A managed collection of StatusControl s Remarks This is a System.Collections.Generic.SortedDictionary<TKey, TValue> where TargetValue or Min of TargetRange is used as the key. This is used to ensure that there is only one StatusControl per Value Fields View Source _statusControls Declaration C# Visual Basic SortedDictionary<double, StatusControl> _statusControls _statusControls As SortedDictionary(Of Double, StatusControl) Field Value Type Description System.Collections.Generic.SortedDictionary < System.Double , StatusControl > Properties View Source Count The number of StatusControl s in the collection Declaration C# Visual Basic public int Count { get; } Public ReadOnly Property Count As Integer Property Value Type Description System.Int32 View Source Item[Double] Get the StatusControl in the collection that handles the specified value Declaration C# Visual Basic public StatusControl this[double value] { get; } Public ReadOnly Property Item(value As Double) As StatusControl Parameters Type Name Description System.Double value The value associated with the desired StatusControl Property Value Type Description StatusControl Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown when no StatusControl is found that handles the specified value View Source Values Get an unordered list of the StatusControl s in the collection Declaration C# Visual Basic public List<StatusControl> Values { get; } Public ReadOnly Property Values As List(Of StatusControl) Property Value Type Description System.Collections.Generic.List < StatusControl > Methods View Source Add(StatusControl) Add a StatusControl to the collection Declaration C# Visual Basic public void Add(StatusControl statusControl) Public Sub Add(statusControl As StatusControl) Parameters Type Name Description StatusControl statusControl A StatusControl to add. It must not target a value that is already handled by the collection. Exceptions Type Condition System.ArgumentException Thrown if the statusControl targets a value that is already handled in the collection. View Source AddRange(List<StatusControl>) Add multiple StatusControl s to the collection Declaration C# Visual Basic public void AddRange(List<StatusControl> statusControls) Public Sub AddRange(statusControls As List(Of StatusControl)) Parameters Type Name Description System.Collections.Generic.List < StatusControl > statusControls A collection of StatusControl s to add. Make sure there is only one StatusControl handling each value. Exceptions Type Condition System.ArgumentException Thrown if any element in statusControls targets a value that is already handled in the collection. View Source Contains(StatusControl) Determine if a StatusControl is already in the managed collection Declaration C# Visual Basic public bool Contains(StatusControl statusControl) Public Function Contains(statusControl As StatusControl) As Boolean Parameters Type Name Description StatusControl statusControl The StatusControl to search for Returns Type Description System.Boolean langword_csharp_True if the statusControl is in the collection, langword_csharp_False if it is not Remarks This check is based on TargetValue or the Min of TargetRange View Source ContainsValue(Double) Determine if a value is handled by the collection Declaration C# Visual Basic public bool ContainsValue(double value) Public Function ContainsValue(value As Double) As Boolean Parameters Type Name Description System.Double value The value to check for Returns Type Description System.Boolean langword_csharp_True if the value is handled, langword_csharp_False if it is not View Source GetControlsForRange(Double, Double) Get a list of StatusControl s that handle a given range of values Declaration C# Visual Basic public List<StatusControl> GetControlsForRange(double min, double max) Public Function GetControlsForRange(min As Double, max As Double) As List(Of StatusControl) Parameters Type Name Description System.Double min The smallest number in the range System.Double max The largest number in the range Returns Type Description System.Collections.Generic.List < StatusControl > A List of StatusControl s View Source GetControlsForUse(EControlUse) Get all StatusControls in the collection which have a specific EControlUse Declaration C# Visual Basic public List<StatusControl> GetControlsForUse(EControlUse controlUse) Public Function GetControlsForUse(controlUse As EControlUse) As List(Of StatusControl) Parameters Type Name Description EControlUse controlUse The EControlUse value to look for Returns Type Description System.Collections.Generic.List < StatusControl > A List of StatusControls found that have the specified controlUse . Remarks If no StatusControls are found with the specified controlUse , an empty List is returned. View Source GetFirstControlForUse(EControlUse) Get a StatusControl in the collection which has a specific EControlUse Declaration C# Visual Basic public StatusControl GetFirstControlForUse(EControlUse controlUse) Public Function GetFirstControlForUse(controlUse As EControlUse) As StatusControl Parameters Type Name Description EControlUse controlUse The EControlUse value to look for Returns Type Description StatusControl The first StatusControl found that has the specified controlUse . Exceptions Type Condition System.InvalidOperationException Thrown if no element is found with the specified controlUse View Source HasControlForUse(EControlUse) Determine if the collection contains a StatusControl with a specific EControlUse Declaration C# Visual Basic public bool HasControlForUse(EControlUse controlUse) Public Function HasControlForUse(controlUse As EControlUse) As Boolean Parameters Type Name Description EControlUse controlUse The EControlUse value to look for Returns Type Description System.Boolean TRUE if the collection contains such a StatusControl , FALSE if it does not View Source Remove(StatusControl) Remove a StatusControl from the collection Declaration C# Visual Basic public void Remove(StatusControl statusControl) Public Sub Remove(statusControl As StatusControl) Parameters Type Name Description StatusControl statusControl A StatusControl to remove Remarks A key is determined by the TargetValue or the Min of TargetRange of statusControl . The found item is then compared by hash code to ensure they are the same. View Source RemoveAll() Remove all StatusControl s in the collection Declaration C# Visual Basic public void RemoveAll() Public Sub RemoveAll View Source RemoveKey(Double) Remove the StatusControl that handles the specified value Declaration C# Visual Basic public void RemoveKey(double value) Public Sub RemoveKey(value As Double) Parameters Type Name Description System.Double value The value handled by the StatusControl to remove"
},
"api/HomeSeer.PluginSdk.Devices.DeviceFactory.html": {
"href": "api/HomeSeer.PluginSdk.Devices.DeviceFactory.html",
"title": "Class DeviceFactory | HomeSeer PluginSdk Docs",
"keywords": "Class DeviceFactory C# Visual Basic public class DeviceFactory Public Class DeviceFactory Inheritance System.Object DeviceFactory Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll Factory class for defining new HsDevice s for HomeSeer Fields View Source _device Declaration C# Visual Basic HsDevice _device _device As HsDevice Field Value Type Description HsDevice View Source _features Declaration C# Visual Basic List<HsFeature> _features _features As List(Of HsFeature) Field Value Type Description System.Collections.Generic.List < HsFeature > Methods View Source AsType(EDeviceType, Int32) Set the TypeInfo 's Type and SubType Declaration C# Visual Basic public DeviceFactory AsType(EDeviceType deviceType, int deviceSubType) Public Function AsType(deviceType As EDeviceType, deviceSubType As Integer) As DeviceFactory Parameters Type Name Description EDeviceType deviceType The EDeviceType used to describe the device System.Int32 deviceSubType The SubType of the device. Use the int value of the appropriate SubType enum in HomeSeer.PluginSdk.Devices.Identification Returns Type Description DeviceFactory The DeviceFactory with an updated TypeInfo Remarks The ApiType is always set to Device for devices View Source CreateDevice(String) Prepare a new device definition Declaration C# Visual Basic public static DeviceFactory CreateDevice(string pluginId) Public Shared Function CreateDevice(pluginId As String) As DeviceFactory Parameters Type Name Description System.String pluginId The Id of the plugin that owns the new device Returns Type Description DeviceFactory A DeviceFactory containing information about the new device View Source PrepareForHs() Prepare the data to be sent to HS for processing. Declaration C# Visual Basic public NewDeviceData PrepareForHs() Public Function PrepareForHs As NewDeviceData Returns Type Description NewDeviceData A NewDeviceData bundle for HS to use to create a device. View Source WithAddress(String) Add an Address to the device Declaration C# Visual Basic public DeviceFactory WithAddress(string address) Public Function WithAddress(address As String) As DeviceFactory Parameters Type Name Description System.String address The string to set the address to Returns Type Description DeviceFactory The DeviceFactory with the updated address value View Source WithExtraData(PlugExtraData) Set the PlugExtraData on the device Declaration C# Visual Basic public DeviceFactory WithExtraData(PlugExtraData extraData) Public Function WithExtraData(extraData As PlugExtraData) As DeviceFactory Parameters Type Name Description PlugExtraData extraData PlugExtraData to add to the device Returns Type Description DeviceFactory The DeviceFactory with the updated PlugExtraData value Exceptions Type Condition System.ArgumentNullException Thrown when extraData is null View Source WithFeature(FeatureFactory) Add a HsFeature to the new HsDevice Declaration C# Visual Basic public DeviceFactory WithFeature(FeatureFactory feature) Public Function WithFeature(feature As FeatureFactory) As DeviceFactory Parameters Type Name Description FeatureFactory feature A FeatureFactory describing the new HsFeature Returns Type Description DeviceFactory The DeviceFactory with the new HsFeature definition included Exceptions Type Condition System.ArgumentNullException Thrown if the FeatureFactory provided is invalid View Source WithLocation(String) Set the Location property on the device. Declaration C# Visual Basic public DeviceFactory WithLocation(string location) Public Function WithLocation(location As String) As DeviceFactory Parameters Type Name Description System.String location The location to set on the device Returns Type Description DeviceFactory The DeviceFactory updated with the specified location Remarks Null or whitespace strings will be converted to empty strings \"\" View Source WithLocation2(String) Set the Location2 property on the device. Declaration C# Visual Basic public DeviceFactory WithLocation2(string location2) Public Function WithLocation2(location2 As String) As DeviceFactory Parameters Type Name Description System.String location2 The location2 to set on the device Returns Type Description DeviceFactory The DeviceFactory updated with the specified location2 Remarks Null or whitespace strings will be converted to empty strings \"\" View Source WithMiscFlags(EMiscFlag[]) Add EMiscFlag s to the device Declaration C# Visual Basic public DeviceFactory WithMiscFlags(params EMiscFlag[] miscFlags) Public Function WithMiscFlags(ParamArray miscFlags As EMiscFlag()) As DeviceFactory Parameters Type Name Description EMiscFlag [] miscFlags A collection of EMiscFlag s to add to the device Returns Type Description DeviceFactory The DeviceFactory with the specified flags added Exceptions Type Condition System.ArgumentNullException Thrown when miscFlags is null or an empty list View Source WithName(String) Set the Name of the device Declaration C# Visual Basic public DeviceFactory WithName(string name) Public Function WithName(name As String) As DeviceFactory Parameters Type Name Description System.String name The name of the device. It must not be blank or whitespace Returns Type Description DeviceFactory The DeviceFactory with the updated name value Exceptions Type Condition System.ArgumentNullException Thrown when the specified name is null or whitespace View Source WithoutMiscFlags(EMiscFlag[]) Remove a EMiscFlag from the device Declaration C# Visual Basic public DeviceFactory WithoutMiscFlags(params EMiscFlag[] miscFlags) Public Function WithoutMiscFlags(ParamArray miscFlags As EMiscFlag()) As DeviceFactory Parameters Type Name Description EMiscFlag [] miscFlags EMiscFlag (s) to remove Returns Type Description DeviceFactory The DeviceFactory updated by removing the specified EMiscFlag (s) Exceptions Type Condition System.ArgumentNullException Thrown when no miscFlags are specified"
},
"api/HomeSeer.PluginSdk.Devices.EEnergyFeatureSubType.html": {
"href": "api/HomeSeer.PluginSdk.Devices.EEnergyFeatureSubType.html",
"title": "Enum EEnergyFeatureSubType | HomeSeer PluginSdk Docs",
"keywords": "Enum EEnergyFeatureSubType C# Visual Basic [Obsolete(\"Please use HomeSeer.PluginSdk.Devices.Identification.EEnergyFeatureSubType\", false)] public enum EEnergyFeatureSubType <Obsolete(\"Please use HomeSeer.PluginSdk.Devices.Identification.EEnergyFeatureSubType\", False)> Public Enum EEnergyFeatureSubType Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll Fields Name Description Amps Graphing KWH Volts Watts"
},
"api/HomeSeer.PluginSdk.Devices.EFeatureDisplayType.html": {
"href": "api/HomeSeer.PluginSdk.Devices.EFeatureDisplayType.html",
"title": "Enum EFeatureDisplayType | HomeSeer PluginSdk Docs",
"keywords": "Enum EFeatureDisplayType C# Visual Basic public enum EFeatureDisplayType Public Enum EFeatureDisplayType Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll The display type for a HsFeature . This controls the way a feature and its controls are displayed in the HomeSeer UI. Remarks While in grid view: When there are sibling features set as Important , Normal features will be shown in the status bar. When there are no sibling features set as Important , all Normal features will be analyzed to determine a single Important feature to display. While in list view: HsFeature s are displayed Important first and then Normal . The term 'sibling features' refers to features that are a part of the same device. Fields Name Description Hidden Hide the HsFeature in grid view and list view. Important Prioritize the display of this HsFeature and its controls. Normal Do not apply any special display behavior to the HsFeature ."
},
"api/HomeSeer.PluginSdk.Devices.EMiscFlag.html": {
"href": "api/HomeSeer.PluginSdk.Devices.EMiscFlag.html",
"title": "Enum EMiscFlag | HomeSeer PluginSdk Docs",
"keywords": "Enum EMiscFlag C# Visual Basic public enum EMiscFlag : uint Public Enum EMiscFlag As UInteger Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll Various bit flags available to add to AbstractHsDevice 's Misc field that control its behavior on the HomeSeer platform. Fields Name Description AmazonDiscoveryEnabled Expose this device to Amazon cloud services. AutoVoiceCommand set=create a voice command for this device CanDim Indicates that the device/feature is a dimmer switch (used for 3rd party integration) DeviceNoStatus Indicates that the device/feature does not have any StatusControl s or StatusGraphic s configured that map values to status strings. GoogleDiscoveryEnabled Expose this device to Google cloud services Hidden Hide the device/feature from all views HideInMobile Indicates that the device/feature should not show up in responses from the JSON API IncludePowerfail if set, device's state is restored if power fail enabled IsLight Device controls a lighting device (used by Alexa) MiscUnused11 Place holder for future misc flags. MiscUnused12 Place holder for future misc flags. MiscUnused13 Place holder for future misc flags. MiscUnused14 Place holder for future misc flags. MiscUnused15 Place holder for future misc flags. MiscUnused16 Place holder for future misc flags. MiscUnused17 Place holder for future misc flags. MyhsDeviceChangeNotify if set, a change of this device will be sent to MYHS through the tunnel NoGraphicsDisplay Indicates that the device/feature does not display any graphics for the status even if StatusGraphic s are configured NoLog Do not log messages pertaining to this device/feature NoStatusDisplay Indicates that the device/feature does not display any status text even if it is set. NoStatusTrigger Indicates that the device/feature is not available for selection in any device status change event triggers/conditions. SetDoesNotChangeLastChange If set, any set to a device value will not reset last change. ShowValues Indicates that the device/feature should show its available controls in the UI StatusOnly Indicates that the device/feature does not have any controls and is only used to present a status VoiceCommandConfirm set=confirm voice command"
},
"api/HomeSeer.PluginSdk.Devices.EPollResponse.html": {
"href": "api/HomeSeer.PluginSdk.Devices.EPollResponse.html",
"title": "Enum EPollResponse | HomeSeer PluginSdk Docs",
"keywords": "Enum EPollResponse C# Visual Basic [Serializable] public enum EPollResponse <Serializable> Public Enum EPollResponse Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll Possible responses to the UpdateStatusNow(Int32) call made by HomeSeer to get the latest status for a device/feature. Fields Name Description CouldNotReachPlugin The plugin did not respond to the request. ErrorGettingStatus There was a problem retrieving the latest status for the device/feature. NotFound The hardware backing the device/feature was not found. Ok The device/feature is fully operational. StatusNotSupported The device/feature does not support a displayed status and is only used for controls. Timeout The device/feature did not respond in an appropriate amount of time to determine its current state. UnknownError Some error occured while trying to complete the request preventing any state from being determined."
},
"api/HomeSeer.PluginSdk.Devices.EProperty.html": {
"href": "api/HomeSeer.PluginSdk.Devices.EProperty.html",
"title": "Enum EProperty | HomeSeer PluginSdk Docs",
"keywords": "Enum EProperty C# Visual Basic public enum EProperty Public Enum EProperty Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll HsDevice and HsFeature property types. Used for communicating device/feature related changed to HomeSeer. Fields Name Description AdditionalStatusData AdditionalStatusData Address Address AssociatedDevices AssociatedDevices CanDim An abstraction of the CanDim flag that is stored in Misc DeviceType TypeInfo DisplayedStatus DisplayedStatus FeatureDisplayPriority FeatureDisplayPriority FeatureDisplayType DisplayType Image Image Interface Interface InvalidValue IsValueInvalid LastChange LastChange Location Location Location2 Location2 Misc Misc Name Name PlugExtraData PlugExtraData Ref Ref Relationship Relationship Status Status StatusControls StatusControls StatusGraphics StatusGraphics StatusString StatusString UserAccess UserAccess UserNote UserNote Value Value Version Version VoiceCommand VoiceCommand"
},
"api/HomeSeer.PluginSdk.Devices.EventUpdateReturnData.html": {
"href": "api/HomeSeer.PluginSdk.Devices.EventUpdateReturnData.html",
"title": "Struct EventUpdateReturnData | HomeSeer PluginSdk Docs",
"keywords": "Struct EventUpdateReturnData C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public struct EventUpdateReturnData <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Structure EventUpdateReturnData Inherited Members System.ValueType.Equals(System.Object) System.ValueType.GetHashCode() System.ValueType.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll Data returned to HomeSeer by a plugin when an event action/trigger's configuration is updated Fields View Source DataOut (Also see DataIn of strTrigInfo) The serialization data for the plug-in object cannot be passed ByRef which means it can be passed only one-way through the interface to HomeSeer. If the plug-in receives DataIn, de-serializes it into an object, and then makes a change to the object, this is where the object can be serialized again and passed back to HomeSeer for storage in the HomeSeer database. Declaration C# Visual Basic public byte[] DataOut Public DataOut As Byte() Field Value Type Description System.Byte [] View Source Result When plug-in calls such as ...BuildUI, ...ProcessPostUI, or ...FormatUI are called and there is feedback or an error condition that needs to be reported back to the user, this string field can contain the message to be displayed to the user in HomeSeer UI. This field is cleared by HomeSeer after it is displayed to the user. Declaration C# Visual Basic public string Result Public Result As String Field Value Type Description System.String View Source TrigActInfo This is the trigger or action info from HomeSeer - see the structure for more information. Declaration C# Visual Basic public TrigActInfo TrigActInfo Public TrigActInfo As TrigActInfo Field Value Type Description TrigActInfo"
},
"api/HomeSeer.PluginSdk.Devices.FeatureFactory.html": {
"href": "api/HomeSeer.PluginSdk.Devices.FeatureFactory.html",
"title": "Class FeatureFactory | HomeSeer PluginSdk Docs",
"keywords": "Class FeatureFactory C# Visual Basic public class FeatureFactory Public Class FeatureFactory Inheritance System.Object FeatureFactory Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll Factory class for defining new HsFeature s for HomeSeer Fields View Source _feature Declaration C# Visual Basic HsFeature _feature _feature As HsFeature Field Value Type Description HsFeature Properties View Source Feature Declaration C# Visual Basic HsFeature Feature { } ReadOnly WriteOnly Property Feature As HsFeature Property Value Type Description HsFeature Methods View Source AddButton(Double, String, ControlLocation, EControlUse) Add a button to the HsFeature . Declaration C# Visual Basic public FeatureFactory AddButton(double targetValue, string targetStatus, ControlLocation location = null, EControlUse controlUse = EControlUse.NotSpecified) Public Function AddButton(targetValue As Double, targetStatus As String, location As ControlLocation = Nothing, controlUse As EControlUse = EControlUse.NotSpecified) As FeatureFactory Parameters Type Name Description System.Double targetValue The unique value associated with this control. System.String targetStatus The text displayed on the button. ControlLocation location The location of the control in the grid. See ControlLocation EControlUse controlUse The specific use for this control. See EControlUse Returns Type Description FeatureFactory The calling FeatureFactory with a new StatusControl added Exceptions Type Condition System.ArgumentNullException Thrown when targetStatus is empty or whitespace. System.ArgumentException Thrown when a control, targeting the specified targetValue , already exists. See Also Button View Source AddColorPicker(ControlLocation, EControlUse) Deprecated Declaration C# Visual Basic [Obsolete(\"This signature has been deprecated. Use one of the new signatures.\", true)] public FeatureFactory AddColorPicker(ControlLocation location = null, EControlUse controlUse = EControlUse.NotSpecified) <Obsolete(\"This signature has been deprecated. Use one of the new signatures.\", True)> Public Function AddColorPicker(location As ControlLocation = Nothing, controlUse As EControlUse = EControlUse.NotSpecified) As FeatureFactory Parameters Type Name Description ControlLocation location The location of the control in the grid EControlUse controlUse The specific use for this control Returns Type Description FeatureFactory A FeatureFactory with the new color control added Exceptions Type Condition System.ArgumentException Thrown when a control, targeting the specified value, already exists View Source AddColorPicker(ValueRange, ControlLocation, EControlUse) Add a color picker control to the feature Declaration C# Visual Basic public FeatureFactory AddColorPicker(ValueRange targetRange, ControlLocation location = null, EControlUse controlUse = EControlUse.NotSpecified) Public Function AddColorPicker(targetRange As ValueRange, location As ControlLocation = Nothing, controlUse As EControlUse = EControlUse.NotSpecified) As FeatureFactory Parameters Type Name Description ValueRange targetRange The values this control occupies on the feature. ControlLocation location The location of the control in the grid EControlUse controlUse The specific use for this control Returns Type Description FeatureFactory A FeatureFactory with the new color control added Remarks Color pickers do not use the value of the feature to operate. They use a control string; so the targetRange is superficial and does not correspond to the actual selected color. Exceptions Type Condition System.ArgumentException Thrown when a control, targeting the specified value, already exists See Also ColorPicker View Source AddColorPicker(Double, ControlLocation, EControlUse) Add a color picker control to the feature Declaration C# Visual Basic public FeatureFactory AddColorPicker(double targetValue, ControlLocation location = null, EControlUse controlUse = EControlUse.NotSpecified) Public Function AddColorPicker(targetValue As Double, location As ControlLocation = Nothing, controlUse As EControlUse = EControlUse.NotSpecified) As FeatureFactory Parameters Type Name Description System.Double targetValue The value this control occupies on the feature. ControlLocation location The location of the control in the grid EControlUse controlUse The specific use for this control Returns Type Description FeatureFactory A FeatureFactory with the new color control added Remarks Color pickers do not use the value of the feature to operate. They use a control string; so the targetValue is superficial and does not correspond to the actual selected color. A unique targetValue must still be specified. Exceptions Type Condition System.ArgumentException Thrown when a control, targeting the specified value, already exists See Also ColorPicker View Source AddControl(StatusControl) Add a StatusControl to the HsFeature being built Declaration C# Visual Basic public FeatureFactory AddControl(StatusControl statusControl) Public Function AddControl(statusControl As StatusControl) As FeatureFactory Parameters Type Name Description StatusControl statusControl The StatusControl to add. Returns Type Description FeatureFactory The calling FeatureFactory with an added StatusControl Exceptions Type Condition System.ArgumentNullException Thrown when statusControl is null. System.ArgumentException Thrown when a StatusControl for the values targeted by statusControl already exists. View Source AddGraphic(StatusGraphic) Add a StatusGraphic to the HsFeature being built Declaration C# Visual Basic public FeatureFactory AddGraphic(StatusGraphic statusGraphic) Public Function AddGraphic(statusGraphic As StatusGraphic) As FeatureFactory Parameters Type Name Description StatusGraphic statusGraphic The StatusGraphic to add. Returns Type Description FeatureFactory The calling FeatureFactory with an added StatusGraphic Exceptions Type Condition System.ArgumentNullException Thrown when statusGraphic is null. System.ArgumentException Thrown when a StatusGraphic for the values targeted by statusGraphic already exists. View Source AddGraphicForRange(String, Double, Double, String) Add a StatusGraphic that targets a range of values to the HsFeature being built Declaration C# Visual Basic public FeatureFactory AddGraphicForRange(string imagePath, double minValue, double maxValue, string statusText = \"\") Public Function AddGraphicForRange(imagePath As String, minValue As Double, maxValue As Double, statusText As String = \"\") As FeatureFactory Parameters Type Name Description System.String imagePath A path to an image file relative to the HomeSeer root directory System.Double minValue The minimum value handled by the StatusGraphic . System.Double maxValue The maximum value handled by the StatusGraphic System.String statusText The text displayed by the StatusGraphic . Default is a blank string. Returns Type Description FeatureFactory The calling FeatureFactory with an added StatusGraphic Exceptions Type Condition System.ArgumentNullException Thrown when imagePath is empty or whitespace. System.ArgumentException Thrown when a StatusGraphic for a value between minValue and maxValue already exists. View Source AddGraphicForValue(String, Double, String) Add a StatusGraphic that targets a single value to the HsFeature being built Declaration C# Visual Basic public FeatureFactory AddGraphicForValue(string imagePath, double targetValue, string statusText = \"\") Public Function AddGraphicForValue(imagePath As String, targetValue As Double, statusText As String = \"\") As FeatureFactory Parameters Type Name Description System.String imagePath A path to an image file relative to the HomeSeer root directory System.Double targetValue The Value targeted by the StatusGraphic System.String statusText The text displayed for the targetValue . Default is a blank string. Returns Type Description FeatureFactory The calling FeatureFactory with an added StatusGraphic Exceptions Type Condition System.ArgumentNullException Thrown when imagePath is empty or whitespace. System.ArgumentException Thrown when a StatusGraphic for the targetValue already exists. View Source AddNumberInputField(Double, String, ControlLocation, EControlUse) Add a number input field to the HsFeature . Declaration C# Visual Basic public FeatureFactory AddNumberInputField(double targetValue, string hintText, ControlLocation location = null, EControlUse controlUse = EControlUse.NotSpecified) Public Function AddNumberInputField(targetValue As Double, hintText As String, location As ControlLocation = Nothing, controlUse As EControlUse = EControlUse.NotSpecified) As FeatureFactory Parameters Type Name Description System.Double targetValue The unique value associated with this control. System.String hintText The text displayed to the user to help them know what kind of value to input. ControlLocation location The location of the control in the grid. See ControlLocation EControlUse controlUse The specific use for this control. See EControlUse Returns Type Description FeatureFactory The calling FeatureFactory with a new StatusControl added Exceptions Type Condition System.ArgumentNullException Thrown when hintText is empty or whitespace. System.ArgumentException Thrown when a control, targeting the specified targetValue , already exists. See Also TextBoxNumber View Source AddRadioSelectList(SortedDictionary<String, Double>, ControlLocation, EControlUse) Add a set of radio input controls to the HsFeature Declaration C# Visual Basic public FeatureFactory AddRadioSelectList(SortedDictionary<string, double> textOptions, ControlLocation location = null, EControlUse controlUse = EControlUse.NotSpecified) Public Function AddRadioSelectList(textOptions As SortedDictionary(Of String, Double), location As ControlLocation = Nothing, controlUse As EControlUse = EControlUse.NotSpecified) As FeatureFactory Parameters Type Name Description System.Collections.Generic.SortedDictionary < System.String , System.Double > textOptions A System.Collections.Generic.SortedDictionary<TKey, TValue> of options where the key is the Label and the value is the TargetValue ControlLocation location The location of the control in the grid. See ControlLocation EControlUse controlUse The specific use for this control. See EControlUse Returns Type Description FeatureFactory The calling FeatureFactory with StatusControl s with a ControlType of RadioOption added Exceptions Type Condition System.ArgumentNullException Thrown when no textOptions are specified. System.ArgumentException Thrown when a control, targeting the specified value, already exists. See Also RadioOption View Source AddSlider(ValueRange, ControlLocation, EControlUse) Add a slider control to the HsFeature . Declaration C# Visual Basic public FeatureFactory AddSlider(ValueRange targetRange, ControlLocation location = null, EControlUse controlUse = EControlUse.NotSpecified) Public Function AddSlider(targetRange As ValueRange, location As ControlLocation = Nothing, controlUse As EControlUse = EControlUse.NotSpecified) As FeatureFactory Parameters Type Name Description ValueRange targetRange A ValueRange ControlLocation location The location of the control in the grid. See ControlLocation EControlUse controlUse The specific use for this control. See EControlUse Returns Type Description FeatureFactory The calling FeatureFactory with a new StatusControl added Exceptions Type Condition System.ArgumentNullException Thrown when targetRange is null. System.ArgumentException Thrown when a control, targeting any of the specified values, already exists. See Also ValueRangeSlider View Source AddTextDropDown(SortedDictionary<String, Double>, ControlLocation, EControlUse) Add a select list control to the HsFeature Declaration C# Visual Basic public FeatureFactory AddTextDropDown(SortedDictionary<string, double> textOptions, ControlLocation location = null, EControlUse controlUse = EControlUse.NotSpecified) Public Function AddTextDropDown(textOptions As SortedDictionary(Of String, Double), location As ControlLocation = Nothing, controlUse As EControlUse = EControlUse.NotSpecified) As FeatureFactory Parameters Type Name Description System.Collections.Generic.SortedDictionary < System.String , System.Double > textOptions A System.Collections.Generic.SortedDictionary<TKey, TValue> of options where the key is the Label and the value is the TargetValue ControlLocation location The location of the control in the grid. See ControlLocation EControlUse controlUse The specific use for this control. See EControlUse . This is applied to all options. Returns Type Description FeatureFactory The calling FeatureFactory with StatusControl s with a ControlType of TextSelectList added Exceptions Type Condition System.ArgumentNullException Thrown when no textOptions are specified. System.ArgumentException Thrown when a control, targeting any of the specified values, already exists. See Also TextSelectList View Source AddTextInputField(Double, String, ControlLocation, EControlUse) Add a text input field to the HsFeature . Declaration C# Visual Basic public FeatureFactory AddTextInputField(double targetValue, string hintText, ControlLocation location = null, EControlUse controlUse = EControlUse.NotSpecified) Public Function AddTextInputField(targetValue As Double, hintText As String, location As ControlLocation = Nothing, controlUse As EControlUse = EControlUse.NotSpecified) As FeatureFactory Parameters Type Name Description System.Double targetValue The unique value associated with this control. System.String hintText The text displayed to the user to help them know what kind of value to input. ControlLocation location The location of the control in the grid. See ControlLocation EControlUse controlUse The specific use for this control. See EControlUse Returns Type Description FeatureFactory The calling FeatureFactory with a new StatusControl added Exceptions Type Condition System.ArgumentNullException Thrown when hintText is empty or whitespace. System.ArgumentException Thrown when a control, targeting the specified targetValue , already exists. See Also TextBoxString View Source AddValueDropDown(ValueRange, ControlLocation, EControlUse) Add a select list control to the HsFeature for a range of numbers. Declaration C# Visual Basic public FeatureFactory AddValueDropDown(ValueRange targetRange, ControlLocation location = null, EControlUse controlUse = EControlUse.NotSpecified) Public Function AddValueDropDown(targetRange As ValueRange, location As ControlLocation = Nothing, controlUse As EControlUse = EControlUse.NotSpecified) As FeatureFactory Parameters Type Name Description ValueRange targetRange A ValueRange ControlLocation location The location of the control in the grid. See ControlLocation EControlUse controlUse The specific use for this control. See EControlUse Returns Type Description FeatureFactory The calling FeatureFactory with a new StatusControl added Exceptions Type Condition System.ArgumentNullException Thrown when targetRange is null. System.ArgumentException Thrown when a control, targeting any of the specified values, already exists. See Also ValueRangeDropDown View Source AsType(EFeatureType, Int32) Set the TypeInfo of the HsFeature . Declaration C# Visual Basic public FeatureFactory AsType(EFeatureType featureType, int featureSubType) Public Function AsType(featureType As EFeatureType, featureSubType As Integer) As FeatureFactory Parameters Type Name Description EFeatureType featureType The EFeatureType of the HsFeature System.Int32 featureSubType An int value representing a HsFeature sub type. See HomeSeer.PluginSdk.Devices.Identification for enums listed as \"FeatureSubType\" for current lists. Returns Type Description FeatureFactory The calling FeatureFactory with an updated TypeInfo See Also EFeatureType EGenericFeatureSubType EEnergyFeatureSubType EMediaFeatureSubType EThermostatControlFeatureSubType EThermostatStatusFeatureSubType View Source CreateFeature(String) Prepare a new feature definition Declaration C# Visual Basic public static FeatureFactory CreateFeature(string pluginId) Public Shared Function CreateFeature(pluginId As String) As FeatureFactory Parameters Type Name Description System.String pluginId The Id of the plugin that owns the new feature Returns Type Description FeatureFactory A FeatureFactory containing information about the new feature Remarks Make sure to associate this feature with a device before creating it. You can do this with OnDevice(Int32) or PrepareForHsDevice(Int32) if you are creating this feature on its own, or you can add this to a DeviceFactory with WithFeature(FeatureFactory) . View Source CreateFeature(String, Int32) Prepare a new feature definition for a specific HsDevice Declaration C# Visual Basic public static FeatureFactory CreateFeature(string pluginId, int devRef) Public Shared Function CreateFeature(pluginId As String, devRef As Integer) As FeatureFactory Parameters Type Name Description System.String pluginId The Id of the plugin that owns the new feature System.Int32 devRef The Ref of the device that should own the new feature Returns Type Description FeatureFactory A FeatureFactory containing information about the new feature View Source CreateGenericBinaryControl(String, String, String, String, Double, Double) Create a new generic, binary control feature that has 2 button controls and 2 corresponding status graphics. Declaration C# Visual Basic public static FeatureFactory CreateGenericBinaryControl(string pluginId, string name, string onText, string offText, double onValue = 1, double offValue = 0) Public Shared Function CreateGenericBinaryControl(pluginId As String, name As String, onText As String, offText As String, onValue As Double = 1, offValue As Double = 0) As FeatureFactory Parameters Type Name Description System.String pluginId The Id of the plugin to be used as the interface property System.String name The name of the feature System.String onText The text on the On button System.String offText The text on the Off button System.Double onValue The corresponding value for the On state System.Double offValue The corresponding value for the Off state Returns Type Description FeatureFactory A FeatureFactory representing the desired feature View Source CreateGenericBinarySensor(String, String, String, String, Double, Double) Create a new generic, binary sensor feature that has 2 status graphics representing 2 different sensor states. Declaration C# Visual Basic public static FeatureFactory CreateGenericBinarySensor(string pluginId, string name, string onText, string offText, double onValue = 1, double offValue = 0) Public Shared Function CreateGenericBinarySensor(pluginId As String, name As String, onText As String, offText As String, onValue As Double = 1, offValue As Double = 0) As FeatureFactory Parameters Type Name Description System.String pluginId The Id of the plugin to be used as the interface property System.String name The name of the feature System.String onText The text displayed when the status is active System.String offText The text displayed when the status is passive System.Double onValue The corresponding value for the active state System.Double offValue The corresponding value for the passive state Returns Type Description FeatureFactory A FeatureFactory representing the desired feature View Source OnDevice(Int32) Associate the feature with a specific HsDevice Declaration C# Visual Basic public FeatureFactory OnDevice(int devRef) Public Function OnDevice(devRef As Integer) As FeatureFactory Parameters Type Name Description System.Int32 devRef The Ref of the HsDevice that owns the feature Returns Type Description FeatureFactory The calling FeatureFactory with its AssociatedDevices set to link to the desired device Exceptions Type Condition System.ArgumentOutOfRangeException Thrown if a devRef is supplied that is less than or equal to 0 View Source PrepareForHs() Prepare the FeatureFactory to be sent to HomeSeer for creation. Declaration C# Visual Basic public NewFeatureData PrepareForHs() Public Function PrepareForHs As NewFeatureData Returns Type Description NewFeatureData NewFeatureData ready to be sent to HomeSeer via CreateFeatureForDevice(NewFeatureData) Remarks Make sure the HsFeature is associated with a device by calling OnDevice(Int32) to set the owning device prior to calling this method. Exceptions Type Condition System.InvalidOperationException Thrown when the HsFeature isn't correctly associated with a device. See Also CreateFeatureForDevice(NewFeatureData) View Source PrepareForHsDevice(Int32) Prepare the FeatureFactory to be sent to HomeSeer and added to a specific device. Declaration C# Visual Basic public NewFeatureData PrepareForHsDevice(int devRef) Public Function PrepareForHsDevice(devRef As Integer) As NewFeatureData Parameters Type Name Description System.Int32 devRef The Ref of the HsDevice the HsFeature is being added to Returns Type Description NewFeatureData NewFeatureData ready to be sent to HomeSeer via CreateFeatureForDevice(NewFeatureData) Remarks You can either use this to assign the feature to a device as the last step before creation, or you can call OnDevice(Int32) to set the owning device and then PrepareForHs() when you are ready to send it to HomeSeer. See Also CreateFeatureForDevice(NewFeatureData) View Source WithAddress(String) Add an Address to the feature Declaration C# Visual Basic public FeatureFactory WithAddress(string address) Public Function WithAddress(address As String) As FeatureFactory Parameters Type Name Description System.String address The string to set the address to Returns Type Description FeatureFactory The FeatureFactory with the updated address value View Source WithDefaultValue(Double) Set the value the feature is created with Declaration C# Visual Basic public FeatureFactory WithDefaultValue(double value) Public Function WithDefaultValue(value As Double) As FeatureFactory Parameters Type Name Description System.Double value The value the feature should default to when it is created Returns Type Description FeatureFactory The FeatureFactory updated with the specified value View Source WithDisplayType(EFeatureDisplayType) Set the DisplayType for the feature Declaration C# Visual Basic public FeatureFactory WithDisplayType(EFeatureDisplayType displayType) Public Function WithDisplayType(displayType As EFeatureDisplayType) As FeatureFactory Parameters Type Name Description EFeatureDisplayType displayType The EFeatureDisplayType to set Returns Type Description FeatureFactory The FeatureFactory with the updated display type value View Source WithExtraData(PlugExtraData) Set the PlugExtraData for the HsFeature Declaration C# Visual Basic public FeatureFactory WithExtraData(PlugExtraData extraData) Public Function WithExtraData(extraData As PlugExtraData) As FeatureFactory Parameters Type Name Description PlugExtraData extraData PlugExtraData to set on the HsFeature Returns Type Description FeatureFactory The calling FeatureFactory with the specified PlugExtraData Exceptions Type Condition System.ArgumentNullException Thrown when extraData is null View Source WithLocation(String) Set the Location property on the feature. Declaration C# Visual Basic public FeatureFactory WithLocation(string location) Public Function WithLocation(location As String) As FeatureFactory Parameters Type Name Description System.String location The location to set on the feature Returns Type Description FeatureFactory The FeatureFactory updated with the specified location Remarks You should only adjust this if the location on the owning device is insufficient for this feature. This will be a location IN ADDITION to the device location. View Source WithLocation2(String) Set the Location2 property on the feature. Declaration C# Visual Basic public FeatureFactory WithLocation2(string location2) Public Function WithLocation2(location2 As String) As FeatureFactory Parameters Type Name Description System.String location2 The location2 to set on the feature Returns Type Description FeatureFactory The FeatureFactory updated with the specified location2 Remarks You should only adjust this if the location2 on the owning device is insufficient for this feature. This will be a location2 IN ADDITION to the device location2. View Source WithMiscFlags(EMiscFlag[]) Add a EMiscFlag to the feature Declaration C# Visual Basic public FeatureFactory WithMiscFlags(params EMiscFlag[] miscFlags) Public Function WithMiscFlags(ParamArray miscFlags As EMiscFlag()) As FeatureFactory Parameters Type Name Description EMiscFlag [] miscFlags EMiscFlag (s) to add Returns Type Description FeatureFactory The FeatureFactory updated by adding the specified EMiscFlag (s) Exceptions Type Condition System.ArgumentNullException Thrown when no miscFlags are specified View Source WithName(String) Set the name of the HsFeature . This sets Name Declaration C# Visual Basic public FeatureFactory WithName(string name) Public Function WithName(name As String) As FeatureFactory Parameters Type Name Description System.String name The name of the feature Returns Type Description FeatureFactory The calling FeatureFactory updated with the desired name Exceptions Type Condition System.ArgumentNullException Thrown if the name is empty or whitespace View Source WithoutMiscFlags(EMiscFlag[]) Remove a EMiscFlag from the feature Declaration C# Visual Basic public FeatureFactory WithoutMiscFlags(params EMiscFlag[] miscFlags) Public Function WithoutMiscFlags(ParamArray miscFlags As EMiscFlag()) As FeatureFactory Parameters Type Name Description EMiscFlag [] miscFlags EMiscFlag (s) to remove Returns Type Description FeatureFactory The FeatureFactory updated by removing the specified EMiscFlag (s) Exceptions Type Condition System.ArgumentNullException Thrown when no miscFlags are specified"
},
"api/HomeSeer.PluginSdk.Devices.HsDevice.html": {
"href": "api/HomeSeer.PluginSdk.Devices.HsDevice.html",
"title": "Class HsDevice | HomeSeer PluginSdk Docs",
"keywords": "Class HsDevice C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class HsDevice : AbstractHsDevice <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class HsDevice Inherits AbstractHsDevice Inheritance System.Object AbstractHsDevice HsDevice Inherited Members AbstractHsDevice.Changes AbstractHsDevice.Ref AbstractHsDevice.Address AbstractHsDevice.AssociatedDevices AbstractHsDevice.Code AbstractHsDevice.DisplayedStatus AbstractHsDevice.Image AbstractHsDevice.Interface AbstractHsDevice.IsValueInvalid AbstractHsDevice.LastChange AbstractHsDevice.Location AbstractHsDevice.Location2 AbstractHsDevice.Misc AbstractHsDevice.Name AbstractHsDevice.PlugExtraData AbstractHsDevice.Relationship AbstractHsDevice.Status AbstractHsDevice.StatusString AbstractHsDevice.TypeInfo AbstractHsDevice.UserAccess AbstractHsDevice.UserNote AbstractHsDevice.Value AbstractHsDevice.VoiceCommand AbstractHsDevice.Version AbstractHsDevice._address AbstractHsDevice._assDevices AbstractHsDevice._cacheChanges AbstractHsDevice._displayedStatus AbstractHsDevice._image AbstractHsDevice._interface AbstractHsDevice._invalidValue AbstractHsDevice._lastChange AbstractHsDevice._location AbstractHsDevice._location2 AbstractHsDevice._misc AbstractHsDevice._name AbstractHsDevice._plugExtraData AbstractHsDevice._relationship AbstractHsDevice._status AbstractHsDevice._statusString AbstractHsDevice._typeInfo AbstractHsDevice._userAccess AbstractHsDevice._userNote AbstractHsDevice._value AbstractHsDevice._voiceCommand AbstractHsDevice._version AbstractHsDevice.RevertChanges() AbstractHsDevice.IsValueValid() AbstractHsDevice.AddMiscFlag(EMiscFlag) AbstractHsDevice.ContainsMiscFlag(EMiscFlag) AbstractHsDevice.RemoveMiscFlag(EMiscFlag) AbstractHsDevice.ClearMiscFlags() AbstractHsDevice.GetMiscForFlags(EMiscFlag[]) AbstractHsDevice.GetAddressFromAddressString(String) AbstractHsDevice.GetCodeFromAddressString(String) System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll A device connected to a HomeSeer system. This is the top level item displayed to users when they are looking at the devices connected to their system. Constructors View Source HsDevice() Declaration C# Visual Basic HsDevice() Sub New View Source HsDevice(Int32) Create a HomeSeer device with the specified unique ID Declaration C# Visual Basic public HsDevice(int deviceRef) Public Sub New(deviceRef As Integer) Parameters Type Name Description System.Int32 deviceRef The unique ID associated with this device Fields View Source _featureDisplayPriority Declaration C# Visual Basic List<int> _featureDisplayPriority _featureDisplayPriority As List(Of Integer) Field Value Type Description System.Collections.Generic.List < System.Int32 > Properties View Source FeatureDisplayPriority A list of Ref s indicating the order of importance for the features of a device where 1 is the most important. This helps HomeSeer determine how to display features in the UI. You must call GetDeviceWithFeaturesByRef(Int32) to fill this property, otherwise this will be an empty list. Declaration C# Visual Basic public List<int> FeatureDisplayPriority { get; set; } Public Property FeatureDisplayPriority As List(Of Integer) Property Value Type Description System.Collections.Generic.List < System.Int32 > Remarks This should typically be left to the user to configure, but it is recommended that you pre-configure it for users with the best setup possible by adding the HsFeature s in the desired order when using DeviceFactory to create a HsDevice . See EFeatureDisplayType for additional info on controlling the way features are displayed. View Source Features A list of HsFeature s that make up the device. Declaration C# Visual Basic public List<HsFeature> Features { get; } Public ReadOnly Property Features As List(Of HsFeature) Property Value Type Description System.Collections.Generic.List < HsFeature > Methods View Source Duplicate(Int32) Make a copy of the device with a different unique ID. This will not duplicate features associated with the device. Declaration C# Visual Basic public HsDevice Duplicate(int deviceRef) Public Function Duplicate(deviceRef As Integer) As HsDevice Parameters Type Name Description System.Int32 deviceRef The new unique ID for the copy Returns Type Description HsDevice A copy of the device with a new reference ID View Source GetFeatureByType(TypeInfo) Get the first feature of the specified type associated with this device. Declaration C# Visual Basic public HsFeature GetFeatureByType(TypeInfo featureType) Public Function GetFeatureByType(featureType As TypeInfo) As HsFeature Parameters Type Name Description TypeInfo featureType The TypeInfo describing the desired feature Returns Type Description HsFeature The feature associated with the device that matches that specified featureType Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown if there are no features or if a feature with the specified featureType was not found. View Source GetFeaturesInDisplayOrder() Get a collection of HsFeature s in the same order defined by FeatureDisplayPriority Declaration C# Visual Basic public List<HsFeature> GetFeaturesInDisplayOrder() Public Function GetFeaturesInDisplayOrder As List(Of HsFeature) Returns Type Description System.Collections.Generic.List < HsFeature > A List of HsFeature s ordered by DisplayPriority"
},
"api/HomeSeer.PluginSdk.Devices.HsFeature.html": {
"href": "api/HomeSeer.PluginSdk.Devices.HsFeature.html",
"title": "Class HsFeature | HomeSeer PluginSdk Docs",
"keywords": "Class HsFeature C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class HsFeature : AbstractHsDevice <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class HsFeature Inherits AbstractHsDevice Inheritance System.Object AbstractHsDevice HsFeature Inherited Members AbstractHsDevice.Changes AbstractHsDevice.Ref AbstractHsDevice.Address AbstractHsDevice.AssociatedDevices AbstractHsDevice.Code AbstractHsDevice.DisplayedStatus AbstractHsDevice.Image AbstractHsDevice.Interface AbstractHsDevice.IsValueInvalid AbstractHsDevice.LastChange AbstractHsDevice.Location AbstractHsDevice.Location2 AbstractHsDevice.Misc AbstractHsDevice.Name AbstractHsDevice.PlugExtraData AbstractHsDevice.Relationship AbstractHsDevice.Status AbstractHsDevice.StatusString AbstractHsDevice.TypeInfo AbstractHsDevice.UserAccess AbstractHsDevice.UserNote AbstractHsDevice.Value AbstractHsDevice.VoiceCommand AbstractHsDevice.Version AbstractHsDevice._address AbstractHsDevice._assDevices AbstractHsDevice._cacheChanges AbstractHsDevice._displayedStatus AbstractHsDevice._image AbstractHsDevice._interface AbstractHsDevice._invalidValue AbstractHsDevice._lastChange AbstractHsDevice._location AbstractHsDevice._location2 AbstractHsDevice._misc AbstractHsDevice._name AbstractHsDevice._plugExtraData AbstractHsDevice._relationship AbstractHsDevice._status AbstractHsDevice._statusString AbstractHsDevice._typeInfo AbstractHsDevice._userAccess AbstractHsDevice._userNote AbstractHsDevice._value AbstractHsDevice._voiceCommand AbstractHsDevice._version AbstractHsDevice.RevertChanges() AbstractHsDevice.AddMiscFlag(EMiscFlag) AbstractHsDevice.ContainsMiscFlag(EMiscFlag) AbstractHsDevice.RemoveMiscFlag(EMiscFlag) AbstractHsDevice.ClearMiscFlags() AbstractHsDevice.GetMiscForFlags(EMiscFlag[]) AbstractHsDevice.GetAddressFromAddressString(String) AbstractHsDevice.GetCodeFromAddressString(String) System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll A feature of a device connected to a HomeSeer system. It encapsulates a specific component of functionality available to the device it is associated with. For example: A battery powered device should have a feature associated with it that handles only battery related information and controls. This feature should not contain anything having to do with any other component of that device. Constructors View Source HsFeature() Declaration C# Visual Basic HsFeature() Sub New View Source HsFeature(Int32) Create a HomeSeer feature with the specified unique ID Declaration C# Visual Basic public HsFeature(int featureRef) Public Sub New(featureRef As Integer) Parameters Type Name Description System.Int32 featureRef The unique ID associated with this feature Fields View Source _additionalStatusData Declaration C# Visual Basic List<string> _additionalStatusData _additionalStatusData As List(Of String) Field Value Type Description System.Collections.Generic.List < System.String > View Source _displayPriority Declaration C# Visual Basic int _displayPriority _displayPriority As Integer Field Value Type Description System.Int32 View Source _displayType Declaration C# Visual Basic int _displayType _displayType As Integer Field Value Type Description System.Int32 View Source _statusControls Declaration C# Visual Basic StatusControlCollection _statusControls _statusControls As StatusControlCollection Field Value Type Description StatusControlCollection View Source _statusGraphics Declaration C# Visual Basic StatusGraphicCollection _statusGraphics _statusGraphics As StatusGraphicCollection Field Value Type Description StatusGraphicCollection Properties View Source AdditionalStatusData A list of strings used in the displayed status for the HsFeature . The strings in this list are used to replace the replacement tokens corresponding to each index in the status - @%INDEX@ Declaration C# Visual Basic public List<string> AdditionalStatusData { get; set; } Public Property AdditionalStatusData As List(Of String) Property Value Type Description System.Collections.Generic.List < System.String > View Source DisplayPriority The priority of the feature when being considered for display where 1 is the most important. Declaration C# Visual Basic public int DisplayPriority { get; } Public ReadOnly Property DisplayPriority As Integer Property Value Type Description System.Int32 Remarks This is property is read-only. Modify FeatureDisplayPriority to change this property on HS. View Source DisplayType The EFeatureDisplayType for a feature. Declaration C# Visual Basic public EFeatureDisplayType DisplayType { get; set; } Public Property DisplayType As EFeatureDisplayType Property Value Type Description EFeatureDisplayType Remarks This is used to help HS determine how it should be displayed to the user View Source StatusControls A StatusControlCollection describing all of the StatusControl s associated with this feature. Declaration C# Visual Basic public StatusControlCollection StatusControls { get; } Public ReadOnly Property StatusControls As StatusControlCollection Property Value Type Description StatusControlCollection Remarks This is read only because HomeSeer needs to index StatusControls for events and other automated behaviors. To edit these use methods in IHsController View Source StatusGraphics A StatusGraphicCollection describing all of the StatusGraphic s associated with this feature. Declaration C# Visual Basic public StatusGraphicCollection StatusGraphics { get; } Public ReadOnly Property StatusGraphics As StatusGraphicCollection Property Value Type Description StatusGraphicCollection Remarks This is read only because HomeSeer needs to index StatusGraphics for events and other automated behaviors. To edit these use methods in IHsController Methods View Source AddStatusControl(StatusControl) Declaration C# Visual Basic void AddStatusControl(StatusControl statusControl) Sub AddStatusControl(statusControl As StatusControl) Parameters Type Name Description StatusControl statusControl View Source AddStatusControls(List<StatusControl>) Declaration C# Visual Basic void AddStatusControls(List<StatusControl> statusControls) Sub AddStatusControls(statusControls As List(Of StatusControl)) Parameters Type Name Description System.Collections.Generic.List < StatusControl > statusControls View Source AddStatusGraphic(StatusGraphic) Declaration C# Visual Basic void AddStatusGraphic(StatusGraphic statusGraphic) Sub AddStatusGraphic(statusGraphic As StatusGraphic) Parameters Type Name Description StatusGraphic statusGraphic View Source AddStatusGraphics(List<StatusGraphic>) Declaration C# Visual Basic void AddStatusGraphics(List<StatusGraphic> statusGraphics) Sub AddStatusGraphics(statusGraphics As List(Of StatusGraphic)) Parameters Type Name Description System.Collections.Generic.List < StatusGraphic > statusGraphics View Source ClearStatusControls() Declaration C# Visual Basic void ClearStatusControls() Sub ClearStatusControls View Source ClearStatusGraphics() Declaration C# Visual Basic void ClearStatusGraphics() Sub ClearStatusGraphics View Source CreateControlEvent(Double) Create a ControlEvent for the given value based on this features defined controls Declaration C# Visual Basic public ControlEvent CreateControlEvent(double value) Public Function CreateControlEvent(value As Double) As ControlEvent Parameters Type Name Description System.Double value The value to set the feature to Returns Type Description ControlEvent A ControlEvent with info from associated StatusControl and StatusGraphic Exceptions Type Condition System.ArgumentOutOfRangeException Thrown when there is no StatusControl associated with the specified value View Source Duplicate(Int32) Make a copy of the feature with a different unique ID. This will not duplicate StatusControls or StatusGraphics associated with the device. Declaration C# Visual Basic public HsFeature Duplicate(int featureRef) Public Function Duplicate(featureRef As Integer) As HsFeature Parameters Type Name Description System.Int32 featureRef The new unique ID for the copy Returns Type Description HsFeature A copy of the feature with a new reference ID View Source GetAdditionalDataToken(Int32) Get the additional data token corresponding to the specified index $%tokenIndex$ Declaration C# Visual Basic public static string GetAdditionalDataToken(int tokenIndex) Public Shared Function GetAdditionalDataToken(tokenIndex As Integer) As String Parameters Type Name Description System.Int32 tokenIndex The index for the token Returns Type Description System.String An additional data token used in the status eg for a tokenIndex of 0 returns $%0$ Remarks This is used as a replacement token for the status of a feature. Tokens are replaced with data from AdditionalStatusData View Source GetControlsForUse(EControlUse) Get all StatusControls in the collection which have a specific EControlUse Declaration C# Visual Basic public List<StatusControl> GetControlsForUse(EControlUse controlUse) Public Function GetControlsForUse(controlUse As EControlUse) As List(Of StatusControl) Parameters Type Name Description EControlUse controlUse The EControlUse value to look for Returns Type Description System.Collections.Generic.List < StatusControl > A List of StatusControls found that have the specified controlUse . Remarks If no StatusControls are found with the specified controlUse , an empty List is returned. View Source GetFirstControlForUse(EControlUse) Get a StatusControl associated with the feature that has a specific EControlUse Declaration C# Visual Basic public StatusControl GetFirstControlForUse(EControlUse controlUse) Public Function GetFirstControlForUse(controlUse As EControlUse) As StatusControl Parameters Type Name Description EControlUse controlUse The EControlUse value to look for Returns Type Description StatusControl The first StatusControl found that has the specified controlUse . Exceptions Type Condition System.InvalidOperationException Thrown if no element is found with the specified controlUse View Source HasControlForRange(ValueRange) Determine if the feature has a StatusControl associated with the specified range of values Declaration C# Visual Basic public bool HasControlForRange(ValueRange range) Public Function HasControlForRange(range As ValueRange) As Boolean Parameters Type Name Description ValueRange range The range of values to look for Returns Type Description System.Boolean TRUE if the feature has at least one StatusControl that targets any of the values in the range, FALSE if it does not. View Source HasControlForUse(EControlUse) Determine if the feature has a StatusControl with a specific EControlUse Declaration C# Visual Basic public bool HasControlForUse(EControlUse controlUse) Public Function HasControlForUse(controlUse As EControlUse) As Boolean Parameters Type Name Description EControlUse controlUse The EControlUse value to look for Returns Type Description System.Boolean TRUE if the feature has a StatusControl with this specific EControlUse , FALSE if it does not. View Source HasControlForValue(Double) Determine if the feature has a StatusControl associated with the specified value Declaration C# Visual Basic public bool HasControlForValue(double value) Public Function HasControlForValue(value As Double) As Boolean Parameters Type Name Description System.Double value The value to look for Returns Type Description System.Boolean TRUE if the feature has a StatusControl that targets the specified value, FALSE if it does not. View Source HasGraphicForRange(ValueRange) Determine if the feature has a StatusGraphic associated with the specified range of values Declaration C# Visual Basic public bool HasGraphicForRange(ValueRange range) Public Function HasGraphicForRange(range As ValueRange) As Boolean Parameters Type Name Description ValueRange range The range of values to look for Returns Type Description System.Boolean TRUE if the feature has at least one StatusGraphic that targets any of the values in the range, FALSE if it does not. View Source HasGraphicForValue(Double) Determine if the feature has a StatusGraphic associated with the specified value Declaration C# Visual Basic public bool HasGraphicForValue(double value) Public Function HasGraphicForValue(value As Double) As Boolean Parameters Type Name Description System.Double value The value to look for Returns Type Description System.Boolean TRUE if the feature has a StatusGraphic that targets the specified value, FALSE if it does not. View Source IsValueValid() Determine whether the current value is valid. Declaration C# Visual Basic protected override bool IsValueValid() Protected Overrides Function IsValueValid As Boolean Returns Type Description System.Boolean Always TRUE when not overriden Overrides AbstractHsDevice.IsValueValid() View Source RemoveStatusControl(StatusControl) Declaration C# Visual Basic void RemoveStatusControl(StatusControl statusControl) Sub RemoveStatusControl(statusControl As StatusControl) Parameters Type Name Description StatusControl statusControl View Source RemoveStatusGraphic(StatusGraphic) Declaration C# Visual Basic void RemoveStatusGraphic(StatusGraphic statusGraphic) Sub RemoveStatusGraphic(statusGraphic As StatusGraphic) Parameters Type Name Description StatusGraphic statusGraphic View Source SetDisplayPriority(Int32) Set the DisplayPriority . Declaration C# Visual Basic void SetDisplayPriority(int index) Sub SetDisplayPriority(index As Integer) Parameters Type Name Description System.Int32 index The index of the HsFeature Remarks This is used by the HS platform to load the value of DisplayPriority saved to the database into the HsFeature . It cannot be used to change the value of DisplayPriority saved to the HS platform database. Exceptions Type Condition System.ArgumentOutOfRangeException Thrown when an index less than 0 is specified View Source SetParentDevice(Int32) Declaration C# Visual Basic void SetParentDevice(int deviceRef) Sub SetParentDevice(deviceRef As Integer) Parameters Type Name Description System.Int32 deviceRef"
},
"api/HomeSeer.PluginSdk.Devices.html": {
"href": "api/HomeSeer.PluginSdk.Devices.html",
"title": "Namespace HomeSeer.PluginSdk.Devices | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk.Devices Classes AbstractHsDevice The base implementation of a HomeSeer device. Used to represent devices and features as either a HsDevice or HsFeature DeviceFactory Factory class for defining new HsDevice s for HomeSeer FeatureFactory Factory class for defining new HsFeature s for HomeSeer HsDevice A device connected to a HomeSeer system. This is the top level item displayed to users when they are looking at the devices connected to their system. HsFeature A feature of a device connected to a HomeSeer system. It encapsulates a specific component of functionality available to the device it is associated with. For example: A battery powered device should have a feature associated with it that handles only battery related information and controls. This feature should not contain anything having to do with any other component of that device. NewDeviceData A collection of information describing a new device that needs to be created in HomeSeer. Created through PrepareForHs() NewFeatureData A collection of information describing a new feature that needs to be created in HomeSeer. Created through PrepareForHs() or PrepareForHsDevice(Int32) PlugExtraData A collection of keyed and non-keyed data items attached to an AbstractHsDevice StatusGraphic Status graphics are used to specify what image is displayed for a device when its value matches certain criteria StatusGraphicCollection A managed collection of StatusGraphic s ValueRange A range of values that can be targeted by StatusControl s and StatusGraphic s Structs EventUpdateReturnData Data returned to HomeSeer by a plugin when an event action/trigger's configuration is updated Enums EEnergyFeatureSubType EFeatureDisplayType The display type for a HsFeature . This controls the way a feature and its controls are displayed in the HomeSeer UI. EMiscFlag Various bit flags available to add to AbstractHsDevice 's Misc field that control its behavior on the HomeSeer platform. EPollResponse Possible responses to the UpdateStatusNow(Int32) call made by HomeSeer to get the latest status for a device/feature. EProperty HsDevice and HsFeature property types. Used for communicating device/feature related changed to HomeSeer."
},
"api/HomeSeer.PluginSdk.Devices.Identification.DeviceRelationshipException.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.DeviceRelationshipException.html",
"title": "Class DeviceRelationshipException | HomeSeer PluginSdk Docs",
"keywords": "Class DeviceRelationshipException C# Visual Basic [Serializable] public class DeviceRelationshipException : Exception, ISerializable, _Exception <Serializable> Public Class DeviceRelationshipException Inherits Exception Implements ISerializable, _Exception Inheritance System.Object System.Exception DeviceRelationshipException Implements System.Runtime.Serialization.ISerializable System.Runtime.InteropServices._Exception Inherited Members System.Exception.GetBaseException() System.Exception.ToString() System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext) System.Exception.InternalToString() System.Exception.GetType() System.Exception.Message System.Exception.Data System.Exception.InnerException System.Exception.TargetSite System.Exception.StackTrace System.Exception.HelpLink System.Exception.Source System.Exception.HResult System.Exception.SerializeObjectState System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices.Identification Assembly : PluginSdk.dll Represents errors occuring while trying to set the relationship of a device or feature Constructors View Source DeviceRelationshipException(SerializationInfo, StreamingContext) Special constructor used for deserialization. This is mandatory in order for HSCF to be able to deserialize this exception. Declaration C# Visual Basic protected DeviceRelationshipException(SerializationInfo info, StreamingContext context) Protected Sub New(info As SerializationInfo, context As StreamingContext) Parameters Type Name Description System.Runtime.Serialization.SerializationInfo info The data to deserialize from System.Runtime.Serialization.StreamingContext context The context of the source stream View Source DeviceRelationshipException(String) Initialize a new instance of the DeviceRelationshipException class with a specified message Declaration C# Visual Basic public DeviceRelationshipException(string message) Public Sub New(message As String) Parameters Type Name Description System.String message The error message View Source DeviceRelationshipException(String, Exception) Initialize a new instance of the DeviceRelationshipException class with a specified message and a reference to an inner exception Declaration C# Visual Basic public DeviceRelationshipException(string message, Exception innerException) Public Sub New(message As String, innerException As Exception) Parameters Type Name Description System.String message The error message System.Exception innerException An System.Exception that caused this exception Implements System.Runtime.Serialization.ISerializable System.Runtime.InteropServices._Exception"
},
"api/HomeSeer.PluginSdk.Devices.Identification.EApiType.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.EApiType.html",
"title": "Enum EApiType | HomeSeer PluginSdk Docs",
"keywords": "Enum EApiType C# Visual Basic public enum EApiType Public Enum EApiType Namespace : HomeSeer.PluginSdk.Devices.Identification Assembly : PluginSdk.dll The general type of an AbstractHsDevice Remarks This is primarily used to determine whether an AbstractHsDevice is a HsDevice or a HsFeature Creating a HsDevice or HsFeature using DeviceFactory or FeatureFactory will automatically set this for you. Legacy types will be readable as langword_csharp_int Fields Name Description Device A HsDevice Feature A HsFeature NotSpecified No type is set. AbstractHsDevice s are unusable in this state. See Also TypeInfo"
},
"api/HomeSeer.PluginSdk.Devices.Identification.EDeviceType.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.EDeviceType.html",
"title": "Enum EDeviceType | HomeSeer PluginSdk Docs",
"keywords": "Enum EDeviceType C# Visual Basic public enum EDeviceType Public Enum EDeviceType Namespace : HomeSeer.PluginSdk.Devices.Identification Assembly : PluginSdk.dll The primary use of a HsDevice . This describes the physical hardware. Remarks Where EFeatureType describes the function of a specific HsFeature of a HsDevice , EDeviceType describes the overall use of the hardware. IE an in-wall paddle switch is described as a Switch HsDevice with a Generic HsFeature . Fields Name Description Door The HsDevice represents a door. Fan The HsDevice represents a fan. Generic A generic HsDevice . There is no specific use for it. Light The HsDevice represents a light. Lock The HsDevice represents a lock. Media The HsDevice represents a media device. Outlet The HsDevice represents an outlet. RemoteControl The HsDevice represents an external controller or remote like a hub. Switch The HsDevice represents a switch. Thermostat The HsDevice represents a thermostat. Window The HsDevice represents a window. See Also Type"
},
"api/HomeSeer.PluginSdk.Devices.Identification.EEnergyFeatureSubType.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.EEnergyFeatureSubType.html",
"title": "Enum EEnergyFeatureSubType | HomeSeer PluginSdk Docs",
"keywords": "Enum EEnergyFeatureSubType C# Visual Basic public enum EEnergyFeatureSubType Public Enum EEnergyFeatureSubType Namespace : HomeSeer.PluginSdk.Devices.Identification Assembly : PluginSdk.dll The specific use of an Energy type HsFeature Remarks This has not been fully migrated from the legacy API. Expect future changes. Fields Name Description Amps The HsFeature is used to track Amps. Graphing The HsFeature is used for graphing. Kwh The HsFeature is used to track Kilowatt-hours. Volts The HsFeature is used to track Volts. Watts The HsFeature is used to track Watts."
},
"api/HomeSeer.PluginSdk.Devices.Identification.EFeatureType.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.EFeatureType.html",
"title": "Enum EFeatureType | HomeSeer PluginSdk Docs",
"keywords": "Enum EFeatureType C# Visual Basic public enum EFeatureType Public Enum EFeatureType Namespace : HomeSeer.PluginSdk.Devices.Identification Assembly : PluginSdk.dll The primary use of a HsFeature . This describes a function of a piece of hardware. Fields Name Description Energy The HsFeature is used to interact with energy management devices. Generic A generic HsFeature . There is no specific use for it. Media The HsFeature is used to interact with a media playback device. Security The HsFeature is used for security purposes. ThermostatControl The HsFeature is used to control a thermostat. ThermostatStatus The HsFeature is used to show the status of a thermostat. See Also Type"
},
"api/HomeSeer.PluginSdk.Devices.Identification.EGenericDeviceSubType.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.EGenericDeviceSubType.html",
"title": "Enum EGenericDeviceSubType | HomeSeer PluginSdk Docs",
"keywords": "Enum EGenericDeviceSubType C# Visual Basic public enum EGenericDeviceSubType Public Enum EGenericDeviceSubType Namespace : HomeSeer.PluginSdk.Devices.Identification Assembly : PluginSdk.dll The specific use of a Generic HsDevice Remarks This is not stable and may see significant change. The description offered by EDeviceType is usually enough. Fields Name Description Fan The HsDevice is used to control a fan. Light The HsDevice is used to control a light. Outlet The HsDevice is used to interact with an outlet. Sensor The HsDevice is used to interact with a sensor. See Also SubType Generic"
},
"api/HomeSeer.PluginSdk.Devices.Identification.EGenericFeatureSubType.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.EGenericFeatureSubType.html",
"title": "Enum EGenericFeatureSubType | HomeSeer PluginSdk Docs",
"keywords": "Enum EGenericFeatureSubType C# Visual Basic public enum EGenericFeatureSubType Public Enum EGenericFeatureSubType Namespace : HomeSeer.PluginSdk.Devices.Identification Assembly : PluginSdk.dll The specific use of a Generic HsFeature Remarks This is not stable and may see significant change. Fields Name Description Battery The HsFeature represents the status of a battery. BinaryControl The HsFeature represents a binary control - something that only has on and off controls. BinarySensor The HsFeature represents a binary sensor - something that only reports one of two states. CentralScene The HsFeature represents a Z-Wave Central Scene. This is typically used to display the last action taken on the device. See Also SubType Generic"
},
"api/HomeSeer.PluginSdk.Devices.Identification.EMediaFeatureSubType.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.EMediaFeatureSubType.html",
"title": "Enum EMediaFeatureSubType | HomeSeer PluginSdk Docs",
"keywords": "Enum EMediaFeatureSubType C# Visual Basic public enum EMediaFeatureSubType Public Enum EMediaFeatureSubType Namespace : HomeSeer.PluginSdk.Devices.Identification Assembly : PluginSdk.dll The specific use of a Media HsFeature Remarks This has not been fully migrated from the legacy API. Expect future changes. Fields Name Description MediaAlbum MediaArtist MediaGenre MediaPlaylist MediaSelectorControl MediaTrack MediaType PlayerAlbumArt PlayerControl PlayerMute PlayerRepeat PlayerShuffle PlayerStatus PlayerStatusAdditional PlayerVolume See Also SubType"
},
"api/HomeSeer.PluginSdk.Devices.Identification.ERelationship.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.ERelationship.html",
"title": "Enum ERelationship | HomeSeer PluginSdk Docs",
"keywords": "Enum ERelationship C# Visual Basic public enum ERelationship Public Enum ERelationship Namespace : HomeSeer.PluginSdk.Devices.Identification Assembly : PluginSdk.dll An enum describing the type of relationship a device/feature has with the device or features listed in its associated devices list. Fields Name Description Device This item is a device and is associated with one or more features. Previously called \"ParentRoot\" in the legacy API Feature This item is a feature and is associated with one device that owns it. Previously called \"Child\" in the legacy API NotSet No relationship type has been specified"
},
"api/HomeSeer.PluginSdk.Devices.Identification.EThermostatControlFeatureSubType.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.EThermostatControlFeatureSubType.html",
"title": "Enum EThermostatControlFeatureSubType | HomeSeer PluginSdk Docs",
"keywords": "Enum EThermostatControlFeatureSubType C# Visual Basic public enum EThermostatControlFeatureSubType Public Enum EThermostatControlFeatureSubType Namespace : HomeSeer.PluginSdk.Devices.Identification Assembly : PluginSdk.dll The specific use of a ThermostatControl HsFeature Remarks This is used to render Thermostat specific UI components and for integration with systems like Google Home, Amazon, and IFTTT. There is some overlap with EControlUse . To ensure compatibility in all contexts you should make sure both the HsFeature and the appropriate StatusControl s of that HsFeature are set with a matching EThermostatControlFeatureSubType and EControlUse . Some systems analyze the HsFeature to determine how it is used and some analyze the StatusControl . Not all thermostats are the same and most do not utilize all of these features. Use only the ones you need. Fields Name Description AutoChangeoverSetPoint This HsFeature is used to control the temperature at which the system will switch between heating and cooling. CoolingSetPoint This HsFeature is used to control the desired temperature when the thermostat is cooling. DryAirSetPoint This HsFeature is used to control the temperature at which the A/C will switch off to stop drying the air. EnergySaveCool This HsFeature is used to control the desired temperature when the thermostat is cooling and in energy save mode. EnergySaveHeat This HsFeature is used to control the desired temperature when the thermostat is heating and in energy save mode. FanModeSet This HsFeature is used to control the fan mode of the thermostat. FurnaceSetPoint This HsFeature is used to control the temperature of the furnace connected to a thermostat. HeatingAwaySetPoint This HsFeature is used to control the temperature to maintain the system at when in away mode. HeatingSetPoint This HsFeature is used to control the desired temperature when the thermostat is heating. HoldMode This HsFeature is used to control whether the thermostat is in hold mode or not. ModeSet This HsFeature is used to control the operation mode of the thermostat. MoistAirSetPoint This HsFeature is used to control the temperature at which the A/C will switch on to start drying the air. OperatingMode This HsFeature is used to report the current operating mode of the thermostat. Setback This HsFeature is used to control hold the setpoints at a specific temperature until reset by the thermostat."
},
"api/HomeSeer.PluginSdk.Devices.Identification.EThermostatStatusFeatureSubType.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.EThermostatStatusFeatureSubType.html",
"title": "Enum EThermostatStatusFeatureSubType | HomeSeer PluginSdk Docs",
"keywords": "Enum EThermostatStatusFeatureSubType C# Visual Basic public enum EThermostatStatusFeatureSubType Public Enum EThermostatStatusFeatureSubType Namespace : HomeSeer.PluginSdk.Devices.Identification Assembly : PluginSdk.dll The specific use of a ThermostatStatus HsFeature Remarks This is used to render Thermostat specific UI components and for integration with systems like Google Home, Amazon, and IFTTT. Not all thermostats are the same and most do not utilize all of these features. Use only the ones you need. Fields Name Description FanStatus This HsFeature is used to display the current state of the fan reported by a thermostat Humidity This HsFeature is used to display the humidity levels being reported by a thermostat OperatingState This HsFeature is used to display the current operating state a thermostat is in Temperature This HsFeature is used to display the primary temperature being reported by a thermostat Temperature2 This HsFeature is used to display a secondary temperature being reported by a thermostat TemperatureOther This HsFeature is used to display additional temperatures being reported by a thermostat"
},
"api/HomeSeer.PluginSdk.Devices.Identification.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.html",
"title": "Namespace HomeSeer.PluginSdk.Devices.Identification | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk.Devices.Identification Classes DeviceRelationshipException Represents errors occuring while trying to set the relationship of a device or feature TypeInfo A bundle of information describing the type of a HsDevice or HsFeature . This is used to describe the device/feature in a manner that is easily understood by UI generation engines and other smart home platforms. When these systems can understand what this device/feature is, they are better able to tailor the experience of the user to their expectations. Enums EApiType The general type of an AbstractHsDevice EDeviceType The primary use of a HsDevice . This describes the physical hardware. EEnergyFeatureSubType The specific use of an Energy type HsFeature EFeatureType The primary use of a HsFeature . This describes a function of a piece of hardware. EGenericDeviceSubType The specific use of a Generic HsDevice EGenericFeatureSubType The specific use of a Generic HsFeature EMediaFeatureSubType The specific use of a Media HsFeature ERelationship An enum describing the type of relationship a device/feature has with the device or features listed in its associated devices list. EThermostatControlFeatureSubType The specific use of a ThermostatControl HsFeature EThermostatStatusFeatureSubType The specific use of a ThermostatStatus HsFeature"
},
"api/HomeSeer.PluginSdk.Devices.Identification.TypeInfo.html": {
"href": "api/HomeSeer.PluginSdk.Devices.Identification.TypeInfo.html",
"title": "Class TypeInfo | HomeSeer PluginSdk Docs",
"keywords": "Class TypeInfo C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class TypeInfo <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class TypeInfo Inheritance System.Object TypeInfo Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices.Identification Assembly : PluginSdk.dll A bundle of information describing the type of a HsDevice or HsFeature . This is used to describe the device/feature in a manner that is easily understood by UI generation engines and other smart home platforms. When these systems can understand what this device/feature is, they are better able to tailor the experience of the user to their expectations. Fields View Source _apiType Declaration C# Visual Basic int _apiType _apiType As Integer Field Value Type Description System.Int32 View Source _subType Declaration C# Visual Basic int _subType _subType As Integer Field Value Type Description System.Int32 View Source _subTypeDesc Declaration C# Visual Basic string _subTypeDesc _subTypeDesc As String Field Value Type Description System.String View Source _summary Declaration C# Visual Basic string _summary _summary As String Field Value Type Description System.String View Source _type Declaration C# Visual Basic int _type _type As Integer Field Value Type Description System.Int32 Properties View Source ApiType The primary type of the device/feature. This should always represent whether the item is a device or feature. Device for devices and Feature for features Declaration C# Visual Basic public EApiType ApiType { get; set; } Public Property ApiType As EApiType Property Value Type Description EApiType Remarks This can only be one of a few values. It is the strictest type. See Also EApiType View Source SubType The sub-type of the AbstractHsDevice . Declaration C# Visual Basic public int SubType { get; set; } Public Property SubType As Integer Property Value Type Description System.Int32 Remarks This is the least strict type field. You can extend this and define new subtypes as needed. It is important to note that these new types will not be understood by HomeSeer and may cause HomeSeer to render them as a generic HsDevice or HsFeature . If you extend these types and would like to have HomeSeer support them you can create a pull request on GitHub. See Also EGenericDeviceSubType EGenericFeatureSubType EEnergyFeatureSubType EMediaFeatureSubType EThermostatControlFeatureSubType EThermostatStatusFeatureSubType View Source SubTypeDescription A human-readable string description of the configured SubType Declaration C# Visual Basic public string SubTypeDescription { get; set; } Public Property SubTypeDescription As String Property Value Type Description System.String Remarks This must be manually set View Source Summary A human-readable string summary of the entire TypeInfo Declaration C# Visual Basic public string Summary { get; set; } Public Property Summary As String Property Value Type Description System.String Remarks This must be manually set View Source Type The EDeviceType or EFeatureType of the AbstractHsDevice Declaration C# Visual Basic public int Type { get; set; } Public Property Type As Integer Property Value Type Description System.Int32 Remarks Acceptable values can be from EDeviceType or EFeatureType . It is not as strict as ApiType , but it is stricter than SubType . You can extend this and define new types and subtypes as needed. It is important to note that these new types will not be understood by HomeSeer and may cause HomeSeer to render them as a generic HsDevice or HsFeature . If you extend these types and would like to have HomeSeer support them you can create a pull request on GitHub. See Also EDeviceType EFeatureType See Also EApiType EDeviceType EFeatureType"
},
"api/HomeSeer.PluginSdk.Devices.NewDeviceData.html": {
"href": "api/HomeSeer.PluginSdk.Devices.NewDeviceData.html",
"title": "Class NewDeviceData | HomeSeer PluginSdk Docs",
"keywords": "Class NewDeviceData C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class NewDeviceData <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class NewDeviceData Inheritance System.Object NewDeviceData Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll A collection of information describing a new device that needs to be created in HomeSeer. Created through PrepareForHs() Constructors View Source NewDeviceData(HsDevice, List<HsFeature>) Declaration C# Visual Basic NewDeviceData(HsDevice device, List<HsFeature> features) Sub New(device As HsDevice, features As List(Of HsFeature)) Parameters Type Name Description HsDevice device System.Collections.Generic.List < HsFeature > features Fields View Source Device A collection of properties describing the device to be created. Declaration C# Visual Basic public Dictionary<EProperty, object> Device Public Device As Dictionary(Of EProperty, Object) Field Value Type Description System.Collections.Generic.Dictionary < EProperty , System.Object > View Source FeatureData A list of collections of properties describing features associated with the device. Declaration C# Visual Basic public List<Dictionary<EProperty, object>> FeatureData Public FeatureData As List(Of Dictionary(Of EProperty, Object)) Field Value Type Description System.Collections.Generic.List < System.Collections.Generic.Dictionary < EProperty , System.Object >>"
},
"api/HomeSeer.PluginSdk.Devices.NewFeatureData.html": {
"href": "api/HomeSeer.PluginSdk.Devices.NewFeatureData.html",
"title": "Class NewFeatureData | HomeSeer PluginSdk Docs",
"keywords": "Class NewFeatureData C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class NewFeatureData <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class NewFeatureData Inheritance System.Object NewFeatureData Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll A collection of information describing a new feature that needs to be created in HomeSeer. Created through PrepareForHs() or PrepareForHsDevice(Int32) Constructors View Source NewFeatureData(HsFeature) Declaration C# Visual Basic NewFeatureData(HsFeature feature) Sub New(feature As HsFeature) Parameters Type Name Description HsFeature feature View Source NewFeatureData(Int32, HsFeature) Declaration C# Visual Basic NewFeatureData(int deviceRef, HsFeature feature) Sub New(deviceRef As Integer, feature As HsFeature) Parameters Type Name Description System.Int32 deviceRef HsFeature feature Fields View Source Feature A collection of properties describing the feature to be created. Declaration C# Visual Basic public Dictionary<EProperty, object> Feature Public Feature As Dictionary(Of EProperty, Object) Field Value Type Description System.Collections.Generic.Dictionary < EProperty , System.Object >"
},
"api/HomeSeer.PluginSdk.Devices.PlugExtraData.html": {
"href": "api/HomeSeer.PluginSdk.Devices.PlugExtraData.html",
"title": "Class PlugExtraData | HomeSeer PluginSdk Docs",
"keywords": "Class PlugExtraData C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class PlugExtraData <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class PlugExtraData Inheritance System.Object PlugExtraData Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll A collection of keyed and non-keyed data items attached to an AbstractHsDevice Remarks Use this to store any data specific to the operation of your plugin. Please note that all keys will be converted to lower case when stored in the HS database Fields View Source _namedData Declaration C# Visual Basic Dictionary<string, string> _namedData _namedData As Dictionary(Of String, String) Field Value Type Description System.Collections.Generic.Dictionary < System.String , System.String > View Source _unNamedData Declaration C# Visual Basic List<string> _unNamedData _unNamedData As List(Of String) Field Value Type Description System.Collections.Generic.List < System.String > Properties View Source Item[Int32] Access the non-keyed item located at the specified index in the collection. Declaration C# Visual Basic public string this[int index] { get; set; } Public Property Item(index As Integer) As String Parameters Type Name Description System.Int32 index The index of the non-keyed item. Property Value Type Description System.String Remarks This returns the value as is. See Also Item[Int32] View Source Item[String] Access the item with the specified key Declaration C# Visual Basic public string this[string key] { get; set; } Public Property Item(key As String) As String Parameters Type Name Description System.String key The key of the item Property Value Type Description System.String Remarks This returns the value as is. Exceptions Type Condition System.ArgumentNullException Thrown when the specified key is null or whitespace. See Also Item[String] View Source NamedCount The number of keyed data items stored in the PlugExtraData Declaration C# Visual Basic public int NamedCount { get; } Public ReadOnly Property NamedCount As Integer Property Value Type Description System.Int32 View Source NamedKeys A list of keys for data items stored in this PlugExtraData Declaration C# Visual Basic public List<string> NamedKeys { get; } Public ReadOnly Property NamedKeys As List(Of String) Property Value Type Description System.Collections.Generic.List < System.String > View Source UnNamed A collection of non-keyed data items stored in the PlugExtraData Declaration C# Visual Basic public List<string> UnNamed { get; } Public ReadOnly Property UnNamed As List(Of String) Property Value Type Description System.Collections.Generic.List < System.String > Remarks Use Item[Int32] or GetUnNamed(Int32) to retrieve the value as is. If the stored value is a JSON string, use GetUnNamed<TData>(Int32) to retrieve the value while using Newtonsoft to deserialize it. View Source UnNamedCount The number of non-keyed items in the PlugExtraData Declaration C# Visual Basic public int UnNamedCount { get; } Public ReadOnly Property UnNamedCount As Integer Property Value Type Description System.Int32 Methods View Source AddNamed(String, String) Add a new keyed data item to the collection Declaration C# Visual Basic public bool AddNamed(string key, string data) Public Function AddNamed(key As String, data As String) As Boolean Parameters Type Name Description System.String key The key for the data System.String data The data to save Returns Type Description System.Boolean TRUE if the item was saved, FALSE if it already exists Remarks If you are trying to store an object, serialize it as a string using Newtonsoft before saving it or use AddNamed<TData>(String, TData) . Do not serialize primitives. Serializing primitives may produce unintended results. Please note that all keys will be converted to lower case when stored in the HS database Exceptions Type Condition System.ArgumentNullException Thrown when the key is null or whitespace View Source AddNamed<TData>(String, TData) Add a new keyed data item to the collection. Serialize the data to a string before saving. Declaration C# Visual Basic public bool AddNamed<TData>(string key, TData data) Public Function AddNamed(Of TData)(key As String, data As TData) As Boolean Parameters Type Name Description System.String key The key for the data TData data The data to save in the collection of type TData Returns Type Description System.Boolean TRUE if the item was saved, FALSE if it already exists Type Parameters Name Description TData The type of the data being saved. Remarks Please note that all keys will be converted to lower case when stored in the HS database Do not serialize primitives. Serializing primitives may produce unintended results. Use AddNamed(String, String) to save primitive values. Exceptions Type Condition System.ArgumentNullException Thrown when the key or data is null JsonDataException Thrown when there is an error while serializing the data View Source AddUnNamed(String) Add a new item to the collection without a key. Declaration C# Visual Basic public int AddUnNamed(string data) Public Function AddUnNamed(data As String) As Integer Parameters Type Name Description System.String data The data for the item to save. Returns Type Description System.Int32 The index of the item in the collection. Remarks If you are trying to store an object, serialize it as a string using Newtonsoft before saving it or use AddUnNamed<TData>(TData) . Do not serialize primitives. Serializing primitives may produce unintended results. Exceptions Type Condition System.ArgumentNullException Thrown when the data to be stored is null or whitespace. View Source AddUnNamed<TData>(TData) Add a new item to the collection without a key. Serialize the data to a string before saving. Declaration C# Visual Basic public int AddUnNamed<TData>(TData data) Public Function AddUnNamed(Of TData)(data As TData) As Integer Parameters Type Name Description TData data The data to save in the collection of type TData Returns Type Description System.Int32 The index of the item in the collection. Type Parameters Name Description TData The type of the data being saved. Remarks Do not serialize primitives. Serializing primitives may produce unintended results. Use AddUnNamed(String) to save primitive values. Exceptions Type Condition System.ArgumentNullException Thrown when the data is null JsonDataException Thrown when there is an error while serializing the data See Also AddUnNamed(String) GetUnNamed<TData>(Int32) View Source ContainsNamed(String) Determine if a data item with the specified key exists in the collection Declaration C# Visual Basic public bool ContainsNamed(string key) Public Function ContainsNamed(key As String) As Boolean Parameters Type Name Description System.String key The key of the data item to look for Returns Type Description System.Boolean TRUE if the item exists in the collection, FALSE if it does not. Exceptions Type Condition System.ArgumentNullException Thrown when the specified key is null or whitespace. View Source GetNamed(String) Get the item with the specified key. This does not process the data at all. It returns the value as it is stored. Declaration C# Visual Basic public string GetNamed(string key) Public Function GetNamed(key As String) As String Parameters Type Name Description System.String key The key of the item to get Returns Type Description System.String The string represented by the specified key Exceptions Type Condition System.ArgumentNullException Thrown when the specified key is null or whitespace. See Also Item[String] GetNamed<TData>(String) View Source GetNamed<TData>(String) Get the item with the specified key deserialized as the specified type. To retrieve the value without deserializing it, use Item[String] or GetNamed(String) Declaration C# Visual Basic public TData GetNamed<TData>(string key) Public Function GetNamed(Of TData)(key As String) As TData Parameters Type Name Description System.String key The key of the item to get Returns Type Description TData The data stored at the specified key as an instance of the specified object type Type Parameters Name Description TData The type of the object stored as a JSON serialized string Remarks This method uses Newtonsoft to deserialize the value to the type specified by TData . Do not use this to deserialize primitives. Exceptions Type Condition JsonDataException Thrown when there was a problem deserializing the data System.ArgumentNullException Thrown when the specified key is null or whitespace. See Also Item[String] GetNamed(String) View Source GetUnNamed(Int32) Get the non-keyed item located at the specified index in the collection. This does not process the data at all. It returns the value as it is stored. Declaration C# Visual Basic public string GetUnNamed(int index) Public Function GetUnNamed(index As Integer) As String Parameters Type Name Description System.Int32 index The index of the non-keyed item to get. Returns Type Description System.String Exceptions Type Condition System.IndexOutOfRangeException Thrown if the index is out of bounds See Also Item[Int32] GetUnNamed<TData>(Int32) View Source GetUnNamed<TData>(Int32) Get the non-keyed item located at the specified index in the collection deserialized to the specified type. Use Item[Int32] or GetUnNamed(Int32) to retrieve the value as is. Declaration C# Visual Basic public TData GetUnNamed<TData>(int index) Public Function GetUnNamed(Of TData)(index As Integer) As TData Parameters Type Name Description System.Int32 index The index of the non-keyed item to get. Returns Type Description TData An instance of the specified type of the data at the specified index in the collection. Type Parameters Name Description TData The type the data should be deserialized to. Remarks This method uses Newtonsoft to deserialize the value to the type specified by TData . Do not use this to deserialize primitives. Exceptions Type Condition JsonDataException Thrown when there is an error deserializing the data to the type specified. See Also Item[Int32] GetUnNamed(Int32) View Source RemoveAllNamed() Remove all keyed items from the collection. Declaration C# Visual Basic public void RemoveAllNamed() Public Sub RemoveAllNamed View Source RemoveAllUnNamed() Remove all non-keyed items from the collection. Declaration C# Visual Basic public void RemoveAllUnNamed() Public Sub RemoveAllUnNamed View Source RemoveNamed(String) Remove the data item with the specified key from the collection. Declaration C# Visual Basic public bool RemoveNamed(string key) Public Function RemoveNamed(key As String) As Boolean Parameters Type Name Description System.String key The key of the data item to remove Returns Type Description System.Boolean TRUE if the item was removed from the collection, FALSE if it was not. Exceptions Type Condition System.ArgumentNullException Thrown when the specified key is null or whitespace. View Source RemoveUnNamed(String) Remove the specified non-keyed item from the collection using the default Equals implementation of the strings. Declaration C# Visual Basic public bool RemoveUnNamed(string data) Public Function RemoveUnNamed(data As String) As Boolean Parameters Type Name Description System.String data The non-keyed item to remove from the collection. Returns Type Description System.Boolean TRUE if the item was removed, FALSE if it wasn't. Exceptions Type Condition System.ArgumentNullException Thrown when the specified data is null or an empty string. View Source RemoveUnNamedAt(Int32) Remove the non-keyed item at the specified index from the collection. Declaration C# Visual Basic public void RemoveUnNamedAt(int index) Public Sub RemoveUnNamedAt(index As Integer) Parameters Type Name Description System.Int32 index The index of the non-keyed item to remove from the collection."
},
"api/HomeSeer.PluginSdk.Devices.StatusGraphic.html": {
"href": "api/HomeSeer.PluginSdk.Devices.StatusGraphic.html",
"title": "Class StatusGraphic | HomeSeer PluginSdk Docs",
"keywords": "Class StatusGraphic C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class StatusGraphic <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class StatusGraphic Inheritance System.Object StatusGraphic Inherited Members System.Object.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll Status graphics are used to specify what image is displayed for a device when its value matches certain criteria Constructors View Source StatusGraphic(String, ValueRange) Initialize a new StatusGraphic with the specified image that targets a range of values Declaration C# Visual Basic public StatusGraphic(string imagePath, ValueRange targetRange) Public Sub New(imagePath As String, targetRange As ValueRange) Parameters Type Name Description System.String imagePath The path to the image used for the graphic ValueRange targetRange The range of values targeted by the StatusGraphic View Source StatusGraphic(String, Double, Double) Initialize a new StatusGraphic with the specified image that targets a range of values Declaration C# Visual Basic public StatusGraphic(string imagePath, double minValue, double maxValue) Public Sub New(imagePath As String, minValue As Double, maxValue As Double) Parameters Type Name Description System.String imagePath The path to the image used for the graphic System.Double minValue The minimum value targeted by the StatusGraphic System.Double maxValue The maximum value targeted by the StatusGraphic View Source StatusGraphic(String, Double, String) Initialize a new StatusGraphic with the specified image that targets a single value Declaration C# Visual Basic public StatusGraphic(string imagePath, double targetValue, string label = \"\") Public Sub New(imagePath As String, targetValue As Double, label As String = \"\") Parameters Type Name Description System.String imagePath The path to the image used for the graphic System.Double targetValue The value targeted by the StatusGraphic System.String label The status text Fields View Source _controlUse Declaration C# Visual Basic EControlUse _controlUse _controlUse As EControlUse Field Value Type Description EControlUse View Source _graphicPath Declaration C# Visual Basic string _graphicPath _graphicPath As String Field Value Type Description System.String View Source _hasAdditionalData Declaration C# Visual Basic bool _hasAdditionalData _hasAdditionalData As Boolean Field Value Type Description System.Boolean View Source _isRange Declaration C# Visual Basic bool _isRange _isRange As Boolean Field Value Type Description System.Boolean View Source _label Declaration C# Visual Basic string _label _label As String Field Value Type Description System.String View Source _targetRange Declaration C# Visual Basic ValueRange _targetRange _targetRange As ValueRange Field Value Type Description ValueRange View Source _value Declaration C# Visual Basic double _value _value As Double Field Value Type Description System.Double Properties View Source ControlUse What the StatusGraphic is used for. See EControlUse for more information. Declaration C# Visual Basic public EControlUse ControlUse { get; set; } Public Property ControlUse As EControlUse Property Value Type Description EControlUse See Also EControlUse View Source Graphic The path to an image displayed by the associated HsFeature when its Value field matches the Value or TargetRange on this StatusGraphic Declaration C# Visual Basic public string Graphic { get; set; } Public Property Graphic As String Property Value Type Description System.String View Source HasAdditionalData Whether the StatusGraphic label includes additional data tokens to be replaced by strings in AdditionalStatusData Declaration C# Visual Basic public bool HasAdditionalData { get; set; } Public Property HasAdditionalData As Boolean Property Value Type Description System.Boolean View Source IsRange Whether the StatusGraphic targets a range of values or a single value. Settings this to TRUE will cause the Value field to be ignored in favor of the TargetRange Declaration C# Visual Basic public bool IsRange { get; set; } Public Property IsRange As Boolean Property Value Type Description System.Boolean View Source Label The text displayed when the associated HsFeature 's Value field matches the Value or TargetRange . Leaving this blank will cause the StatusControl's Label field to be used instead Set this to a single space \" \" to ensure that the corresponding status is left blank when displayed Declaration C# Visual Basic public string Label { get; set; } Public Property Label As String Property Value Type Description System.String View Source RangeMax The maximum value targeted by the StatusGraphic Declaration C# Visual Basic public double RangeMax { get; set; } Public Property RangeMax As Double Property Value Type Description System.Double View Source RangeMin The minimum value targeted by the StatusGraphic Declaration C# Visual Basic public double RangeMin { get; set; } Public Property RangeMin As Double Property Value Type Description System.Double View Source TargetRange The range of values that the StatusGraphic targets. If IsRange is FALSE then this is ignored in favor of Value Declaration C# Visual Basic public ValueRange TargetRange { get; set; } Public Property TargetRange As ValueRange Property Value Type Description ValueRange See Also ValueRange View Source Value The value this StatusControl targets. If IsRange is TRUE then this is ignored in favor of TargetRange Declaration C# Visual Basic public double Value { get; set; } Public Property Value As Double Property Value Type Description System.Double Methods View Source Clone() Create a deep copy of this StatusGraphic Declaration C# Visual Basic public StatusGraphic Clone() Public Function Clone As StatusGraphic Returns Type Description StatusGraphic The deep copy of this StatusGraphic View Source Equals(Object) Compare this object with another to see if they are equal Declaration C# Visual Basic public override bool Equals(object obj) Public Overrides Function Equals(obj As Object) As Boolean Parameters Type Name Description System.Object obj The object to compare Returns Type Description System.Boolean True if they are equal, False if they are not Overrides System.Object.Equals(System.Object) View Source GetHashCode() Get the hash code Declaration C# Visual Basic public override int GetHashCode() Public Overrides Function GetHashCode As Integer Returns Type Description System.Int32 A hash code based on the Min of TargetRange if IsRange is true or Value if it is false. Overrides System.Object.GetHashCode() View Source GetLabelForValue(Double, String[]) Get the label for the specified value correctly formatted according to the StatusGraphic 's configuration Declaration C# Visual Basic public string GetLabelForValue(double value, string[] additionalData = null) Public Function GetLabelForValue(value As Double, additionalData As String() = Nothing) As String Parameters Type Name Description System.Double value The value to get the label for System.String [] additionalData Additional data to include in the status label that replaces any tokens from GetAdditionalDataToken(Int32) included in the status. Returns Type Description System.String The value as a string formatted according to the TargetRange configuration. Exceptions Type Condition System.ArgumentOutOfRangeException Thrown when the value is not targeted by the StatusGraphic View Source GetTargetValue() Get the target value of the StatusGraphic based on whether it is a range or not Declaration C# Visual Basic public double GetTargetValue() Public Function GetTargetValue As Double Returns Type Description System.Double Returns RangeMin if it is a range and returns Value if it isn't View Source IsValueInRange(Double) Determine if a specified value is targeted by the StatusGraphic \"/> Declaration C# Visual Basic public bool IsValueInRange(double value) Public Function IsValueInRange(value As Double) As Boolean Parameters Type Name Description System.Double value The value to check Returns Type Description System.Boolean TRUE if the value is targeted by the StatusGraphic , FALSE if it is not View Source ReplaceAdditionalData(String, String[]) Declaration C# Visual Basic string ReplaceAdditionalData(string label, string[] additionalData) Function ReplaceAdditionalData(label As String, additionalData As String()) As String Parameters Type Name Description System.String label System.String [] additionalData Returns Type Description System.String View Source TryGetLabelForValue(out String, Double, String[]) Try to get the label for the specified value correctly formatted according to the StatusGraphic 's configuration. Declaration C# Visual Basic public bool TryGetLabelForValue(out string label, double value, string[] additionalData = null) Public Function TryGetLabelForValue(ByRef label As String, value As Double, additionalData As String() = Nothing) As Boolean Parameters Type Name Description System.String label The string variable the label will be written to System.Double value The value to get the label for System.String [] additionalData Additional data to include in the status label that replaces any tokens from GetAdditionalDataToken(Int32) included in the status. Returns Type Description System.Boolean TRUE if a label is available for the StatusGraphic , FALSE if the value is not valid for this StatusGraphic or there is no label defined."
},
"api/HomeSeer.PluginSdk.Devices.StatusGraphicCollection.html": {
"href": "api/HomeSeer.PluginSdk.Devices.StatusGraphicCollection.html",
"title": "Class StatusGraphicCollection | HomeSeer PluginSdk Docs",
"keywords": "Class StatusGraphicCollection C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class StatusGraphicCollection <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class StatusGraphicCollection Inheritance System.Object StatusGraphicCollection Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll A managed collection of StatusGraphic s Remarks This is a System.Collections.Generic.SortedDictionary<TKey, TValue> where Value or RangeMin is used as the key. This is used to ensure that there is only one StatusGraphic per Value Fields View Source _statusGraphics Declaration C# Visual Basic SortedDictionary<double, StatusGraphic> _statusGraphics _statusGraphics As SortedDictionary(Of Double, StatusGraphic) Field Value Type Description System.Collections.Generic.SortedDictionary < System.Double , StatusGraphic > Properties View Source Count The number of StatusGraphic s in the collection Declaration C# Visual Basic public int Count { get; } Public ReadOnly Property Count As Integer Property Value Type Description System.Int32 View Source Item[Double] Get the StatusGraphic in the collection that handles the specified value Declaration C# Visual Basic public StatusGraphic this[double value] { get; } Public ReadOnly Property Item(value As Double) As StatusGraphic Parameters Type Name Description System.Double value The value associated with the desired StatusGraphic Property Value Type Description StatusGraphic Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown when no StatusGraphic is found that handles the specified value View Source Values Get an unordered list of the StatusGraphic s in the collection Declaration C# Visual Basic public List<StatusGraphic> Values { get; } Public ReadOnly Property Values As List(Of StatusGraphic) Property Value Type Description System.Collections.Generic.List < StatusGraphic > Methods View Source Add(StatusGraphic) Add a StatusGraphic to the collection Declaration C# Visual Basic public void Add(StatusGraphic statusGraphic) Public Sub Add(statusGraphic As StatusGraphic) Parameters Type Name Description StatusGraphic statusGraphic A StatusGraphic to add. It must not target a value that is already handled by the collection. Exceptions Type Condition System.ArgumentException Thrown if the statusGraphic targets a value that is already handled in the collection. View Source AddRange(IEnumerable<StatusGraphic>) Add multiple StatusGraphic s to the collection Declaration C# Visual Basic public void AddRange(IEnumerable<StatusGraphic> statusGraphics) Public Sub AddRange(statusGraphics As IEnumerable(Of StatusGraphic)) Parameters Type Name Description System.Collections.Generic.IEnumerable < StatusGraphic > statusGraphics A collection of StatusGraphic s to add. Make sure there is only one StatusGraphic handling each value. Exceptions Type Condition System.ArgumentException Thrown if any element in statusGraphics targets a value that is already handled in the collection. View Source Contains(StatusGraphic) Determine if a StatusGraphic is already in the managed collection Declaration C# Visual Basic public bool Contains(StatusGraphic statusGraphic) Public Function Contains(statusGraphic As StatusGraphic) As Boolean Parameters Type Name Description StatusGraphic statusGraphic The StatusGraphic to search for Returns Type Description System.Boolean langword_csharp_True if the statusGraphic is in the collection, langword_csharp_False if it is not Remarks This check is based on Value or RangeMin View Source ContainsValue(Double) Determine if a value is handled by the collection Declaration C# Visual Basic public bool ContainsValue(double value) Public Function ContainsValue(value As Double) As Boolean Parameters Type Name Description System.Double value The value to check for Returns Type Description System.Boolean langword_csharp_True if the value is handled, langword_csharp_False if it is not View Source GetGraphicsForRange(Double, Double) Get a list of StatusGraphic s that handle a given range of values Declaration C# Visual Basic public List<StatusGraphic> GetGraphicsForRange(double min, double max) Public Function GetGraphicsForRange(min As Double, max As Double) As List(Of StatusGraphic) Parameters Type Name Description System.Double min The smallest number in the range System.Double max The largest number in the range Returns Type Description System.Collections.Generic.List < StatusGraphic > A List of StatusGraphic s View Source Remove(StatusGraphic) Remove a StatusGraphic from the collection Declaration C# Visual Basic public void Remove(StatusGraphic statusGraphic) Public Sub Remove(statusGraphic As StatusGraphic) Parameters Type Name Description StatusGraphic statusGraphic A StatusGraphic to remove Remarks A key is determined by the Value or RangeMin of statusGraphic . The found item is then compared by hash code to ensure they are the same. View Source RemoveAll() Remove all StatusGraphic s in the collection Declaration C# Visual Basic public void RemoveAll() Public Sub RemoveAll View Source RemoveKey(Double) Remove the StatusGraphic that handles the specified value Declaration C# Visual Basic public void RemoveKey(double value) Public Sub RemoveKey(value As Double) Parameters Type Name Description System.Double value The value handled by the StatusGraphic to remove"
},
"api/HomeSeer.PluginSdk.Devices.ValueRange.html": {
"href": "api/HomeSeer.PluginSdk.Devices.ValueRange.html",
"title": "Class ValueRange | HomeSeer PluginSdk Docs",
"keywords": "Class ValueRange C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class ValueRange <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class ValueRange Inheritance System.Object ValueRange Inherited Members System.Object.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Devices Assembly : PluginSdk.dll A range of values that can be targeted by StatusControl s and StatusGraphic s Constructors View Source ValueRange(Double, Double) Initialize a new range of values Declaration C# Visual Basic public ValueRange(double min, double max) Public Sub New(min As Double, max As Double) Parameters Type Name Description System.Double min The smallest value permitted System.Double max The largest value permitted Exceptions Type Condition System.ArgumentException Thrown when min is less than max Fields View Source _decimalPlaces Declaration C# Visual Basic int _decimalPlaces _decimalPlaces As Integer Field Value Type Description System.Int32 View Source _divisor Declaration C# Visual Basic double _divisor _divisor As Double Field Value Type Description System.Double View Source _max Declaration C# Visual Basic double _max _max As Double Field Value Type Description System.Double View Source _min Declaration C# Visual Basic double _min _min As Double Field Value Type Description System.Double View Source _offset Declaration C# Visual Basic double _offset _offset As Double Field Value Type Description System.Double View Source _prefix Declaration C# Visual Basic string _prefix _prefix As String Field Value Type Description System.String View Source _suffix Declaration C# Visual Basic string _suffix _suffix As String Field Value Type Description System.String Properties View Source DecimalPlaces The number of decimal places of accuracy displayed by the range The displayed value will be the rounded value to the nearest number of decimals. E.G. If DecimalPlaces is 1, a value of 7.1589 will be displayed as 7.2 Declaration C# Visual Basic public int DecimalPlaces { get; set; } Public Property DecimalPlaces As Integer Property Value Type Description System.Int32 Exceptions Type Condition System.ArgumentOutOfRangeException Thrown if you try to set the decimal places to a value less than 0 View Source Divisor The amount to divide the value by for display. E.G. A value of 45 will be displayed as 22.5 with a divisor of 2 Declaration C# Visual Basic public double Divisor { get; set; } Public Property Divisor As Double Property Value Type Description System.Double Exceptions Type Condition System.ArgumentOutOfRangeException Thrown if you try to set the divisor less than or equal to 0 View Source Max The maximum value permitted by the range Declaration C# Visual Basic public double Max { get; set; } Public Property Max As Double Property Value Type Description System.Double Exceptions Type Condition System.ArgumentOutOfRangeException Thrown if the new maximum value is smaller than the current minimum View Source Min The minimum value permitted by the range Declaration C# Visual Basic public double Min { get; set; } Public Property Min As Double Property Value Type Description System.Double Exceptions Type Condition System.ArgumentOutOfRangeException Thrown if the new minimum value is larger than the current maximum View Source Offset The amount to subtract from the value for display. E.G. A value of 501 will be displayed as 1 with an offset of 500 Declaration C# Visual Basic public double Offset { get; set; } Public Property Offset As Double Property Value Type Description System.Double View Source Prefix A text prefix to include with the value when displayed Declaration C# Visual Basic public string Prefix { get; set; } Public Property Prefix As String Property Value Type Description System.String View Source Suffix A text suffix to include with the value when displayed Declaration C# Visual Basic public string Suffix { get; set; } Public Property Suffix As String Property Value Type Description System.String Methods View Source Clone() Create a deep copy of this ValueRange Declaration C# Visual Basic public ValueRange Clone() Public Function Clone As ValueRange Returns Type Description ValueRange The deep copy of this ValueRange View Source Equals(Object) Compare this object with another to see if they are equal Declaration C# Visual Basic public override bool Equals(object obj) Public Overrides Function Equals(obj As Object) As Boolean Parameters Type Name Description System.Object obj The object to compare Returns Type Description System.Boolean True if they are equal, False if they are not Overrides System.Object.Equals(System.Object) View Source GetHashCode() Get the hash code Declaration C# Visual Basic public override int GetHashCode() Public Overrides Function GetHashCode As Integer Returns Type Description System.Int32 A hash code based on the Min and Max value Overrides System.Object.GetHashCode() View Source GetStringForValue(Double) Obtain the string representation of the specified value according to the range's configuration Declaration C# Visual Basic public string GetStringForValue(double value) Public Function GetStringForValue(value As Double) As String Parameters Type Name Description System.Double value The value to use in the string Returns Type Description System.String The value correctly formatted according to the range Remarks This returns $\"{_prefix}{((value - _offset) / _divisor).ToString($\"F{_decimalPlaces}\")}{_suffix}\" View Source IsValueInRange(Double) Determine if the specified value is valid for this range Declaration C# Visual Basic public bool IsValueInRange(double value) Public Function IsValueInRange(value As Double) As Boolean Parameters Type Name Description System.Double value The value to check Returns Type Description System.Boolean TRUE is it is valid for the range, FALSE if it is not"
},
"api/HomeSeer.PluginSdk.EHsSystemEvent.html": {
"href": "api/HomeSeer.PluginSdk.EHsSystemEvent.html",
"title": "Enum EHsSystemEvent | HomeSeer PluginSdk Docs",
"keywords": "Enum EHsSystemEvent C# Visual Basic public enum EHsSystemEvent Public Enum EHsSystemEvent Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Fields Name Description Audio CallerId ConfigChange DeleteDevice A device has been deleted Generic Log RunScriptSpecial SetupChange SpeakerConnect StringChange ValueChange ValueSet VoiceRec"
},
"api/HomeSeer.PluginSdk.Energy.EnergyCalcData.html": {
"href": "api/HomeSeer.PluginSdk.Energy.EnergyCalcData.html",
"title": "Class EnergyCalcData | HomeSeer PluginSdk Docs",
"keywords": "Class EnergyCalcData C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class EnergyCalcData <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class EnergyCalcData Inheritance System.Object EnergyCalcData Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Energy Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Fields View Source LateDate Declaration C# Visual Basic public DateTime LateDate Public LateDate As Date Field Value Type Description System.DateTime View Source mvAmount Declaration C# Visual Basic public double mvAmount Public mvAmount As Double Field Value Type Description System.Double View Source mvarName Declaration C# Visual Basic string mvarName mvarName As String Field Value Type Description System.String View Source mvCost Declaration C# Visual Basic public double mvCost Public mvCost As Double Field Value Type Description System.Double View Source Range The amount of time to be included in the calculation starting from the starting point. Declaration C# Visual Basic public TimeSpan Range Public Range As TimeSpan Field Value Type Description System.TimeSpan View Source RoundDay Whether to round the time to an even day. Declaration C# Visual Basic public bool RoundDay Public RoundDay As Boolean Field Value Type Description System.Boolean View Source StartBack The amount of time to be subtracted from NOW to get our starting point. Declaration C# Visual Basic public TimeSpan StartBack Public StartBack As TimeSpan Field Value Type Description System.TimeSpan Properties View Source Amount Declaration C# Visual Basic public double Amount { get; } Public ReadOnly Property Amount As Double Property Value Type Description System.Double View Source AmountPrecise Declaration C# Visual Basic public double AmountPrecise { get; } Public ReadOnly Property AmountPrecise As Double Property Value Type Description System.Double View Source Cost Declaration C# Visual Basic public double Cost { get; } Public ReadOnly Property Cost As Double Property Value Type Description System.Double View Source CostPrecise Declaration C# Visual Basic public double CostPrecise { get; } Public ReadOnly Property CostPrecise As Double Property Value Type Description System.Double View Source Name Declaration C# Visual Basic public string Name { get; set; } Public Property Name As String Property Value Type Description System.String"
},
"api/HomeSeer.PluginSdk.Energy.EnergyData.html": {
"href": "api/HomeSeer.PluginSdk.Energy.EnergyData.html",
"title": "Class EnergyData | HomeSeer PluginSdk Docs",
"keywords": "Class EnergyData C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class EnergyData <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class EnergyData Inheritance System.Object EnergyData Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Energy Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Constructors View Source EnergyData(Constants.enumEnergyDirection) Declaration C# Visual Basic public EnergyData(Constants.enumEnergyDirection consumedOrProduced) Public Sub New(consumedOrProduced As Constants.enumEnergyDirection) Parameters Type Name Description Constants.enumEnergyDirection consumedOrProduced Fields View Source Amount Always measured in Watts Declaration C# Visual Basic public double Amount Public Amount As Double Field Value Type Description System.Double View Source Amount_End The end of the time period this measurement is for. Declaration C# Visual Basic public DateTime Amount_End Public Amount_End As Date Field Value Type Description System.DateTime View Source Amount_Start The start of the time period this measurement is for. Declaration C# Visual Basic public DateTime Amount_Start Public Amount_Start As Date Field Value Type Description System.DateTime View Source Device Indicates the type of device. Declaration C# Visual Basic public Constants.enumEnergyDevice Device Public Device As Constants.enumEnergyDevice Field Value Type Description Constants.enumEnergyDevice View Source Direction Indicates whether the energy was consumed (used) or produced (created). Declaration C# Visual Basic public Constants.enumEnergyDirection Direction Public Direction As Constants.enumEnergyDirection Field Value Type Description Constants.enumEnergyDirection View Source Duration When the data is compacted, time periods missed (perhaps HS was shut down) end up having the actual amounts averaged across the missing time period. For example, if you log 500W at 1:00PM through 1:05PM, then HS was shut down for 5 minutes, then log 500W from 1:10PM through 1:15PM, then when data compaction happens and the records are consolidated, the only thing that could happen is to show 1000W from 1:00PM through 1:15PM, which is accurate, but does not provide evidence of the fact that there was a 5 minute period when data was not collected. Furthermore, calculations of the COST which must include the time to get to kWh will be adversely affected (more for electricity produced than consumed!). This duration field takes care of that NOT by providing any record of the missing periods, but by at least keeping track of the total time within the consolidated (compacted) record which only reflects the start period and end period. Declaration C# Visual Basic public long Duration Public Duration As Long Field Value Type Description System.Int64 View Source dvRef Device reference ID number for the device this energy data is for. Declaration C# Visual Basic public int dvRef Public dvRef As Integer Field Value Type Description System.Int32 View Source ID Declaration C# Visual Basic public int ID Public ID As Integer Field Value Type Description System.Int32 View Source Rate Always measured in kWH Declaration C# Visual Basic public float Rate Public Rate As Single Field Value Type Description System.Single View Source UserCode For the user to indicate something about this reading. Declaration C# Visual Basic public int UserCode Public UserCode As Integer Field Value Type Description System.Int32"
},
"api/HomeSeer.PluginSdk.Energy.EnergyGraph.html": {
"href": "api/HomeSeer.PluginSdk.Energy.EnergyGraph.html",
"title": "Class EnergyGraph | HomeSeer PluginSdk Docs",
"keywords": "Class EnergyGraph C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class EnergyGraph <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class EnergyGraph Inheritance System.Object EnergyGraph Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Energy Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Fields View Source AdditionalParameters Declaration C# Visual Basic public string AdditionalParameters Public AdditionalParameters As String Field Value Type Description System.String View Source DateGenerated Declaration C# Visual Basic public DateTime DateGenerated Public DateGenerated As Date Field Value Type Description System.DateTime View Source DefaultGraph Declaration C# Visual Basic public int DefaultGraph Public DefaultGraph As Integer Field Value Type Description System.Int32 View Source dvRefs Declaration C# Visual Basic public string dvRefs Public dvRefs As String Field Value Type Description System.String View Source Height Declaration C# Visual Basic public int Height Public Height As Integer Field Value Type Description System.Int32 View Source ID Declaration C# Visual Basic public int ID Public ID As Integer Field Value Type Description System.Int32 View Source IsLocked Declaration C# Visual Basic public int IsLocked Public IsLocked As Integer Field Value Type Description System.Int32 View Source IsVisible Declaration C# Visual Basic public int IsVisible Public IsVisible As Integer Field Value Type Description System.Int32 View Source LinkedIDs Declaration C# Visual Basic public string LinkedIDs Public LinkedIDs As String Field Value Type Description System.String View Source MultiLayered Declaration C# Visual Basic public int MultiLayered Public MultiLayered As Integer Field Value Type Description System.Int32 View Source Name Declaration C# Visual Basic public string Name Public Name As String Field Value Type Description System.String View Source Width Declaration C# Visual Basic public int Width Public Width As Integer Field Value Type Description System.Int32 View Source YAxis Declaration C# Visual Basic public int YAxis Public YAxis As Integer Field Value Type Description System.Int32"
},
"api/HomeSeer.PluginSdk.Energy.EnergyGraphData.html": {
"href": "api/HomeSeer.PluginSdk.Energy.EnergyGraphData.html",
"title": "Class EnergyGraphData | HomeSeer PluginSdk Docs",
"keywords": "Class EnergyGraphData C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class EnergyGraphData <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class EnergyGraphData Inheritance System.Object EnergyGraphData Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Energy Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Constructors View Source EnergyGraphData() Declaration C# Visual Basic public EnergyGraphData() Public Sub New Fields View Source AdditionalParameters back_color,pane_color,bar1_color,bar2_color,use_gradient,font_color,pane_color_left, pane_color_bottom,pane_color_top,pane_color_right Declaration C# Visual Basic public string AdditionalParameters Public AdditionalParameters As String Field Value Type Description System.String View Source DefaultGraph Declaration C# Visual Basic public int DefaultGraph Public DefaultGraph As Integer Field Value Type Description System.Int32 View Source dvRefs Declaration C# Visual Basic public string dvRefs Public dvRefs As String Field Value Type Description System.String View Source DynamicCalc DynamicCalc is really a boolean, but for database compatibility, we'll use integer. This can be inferred, but is added to explicitly show whether to use static dates or calc them out. Declaration C# Visual Basic public int DynamicCalc Public DynamicCalc As Integer Field Value Type Description System.Int32 View Source EndDate Declaration C# Visual Basic public DateTime? EndDate Public EndDate As Date? Field Value Type Description System.Nullable < System.DateTime > View Source FirstOf FirstOf is really a boolean, but for database compatibility, we'll use integer. If true, goes to the first instance of the gbInterval e.g: if a day, to the beginning of the day, if a week, to the beginning of the week. Declaration C# Visual Basic public int FirstOf Public FirstOf As Integer Field Value Type Description System.Int32 View Source gbInterval Declaration C# Visual Basic public Constants.eGraphInterval gbInterval Public gbInterval As Constants.eGraphInterval Field Value Type Description Constants.eGraphInterval View Source GoBack Declaration C# Visual Basic public int GoBack Public GoBack As Integer Field Value Type Description System.Int32 View Source Height Declaration C# Visual Basic public int Height Public Height As Integer Field Value Type Description System.Int32 View Source ID Declaration C# Visual Basic public int ID Public ID As Integer Field Value Type Description System.Int32 View Source Interval Declaration C# Visual Basic public Constants.eGraphInterval Interval Public Interval As Constants.eGraphInterval Field Value Type Description Constants.eGraphInterval View Source IsLocked Declaration C# Visual Basic public int IsLocked Public IsLocked As Integer Field Value Type Description System.Int32 View Source IsVisible Declaration C# Visual Basic public int IsVisible Public IsVisible As Integer Field Value Type Description System.Int32 View Source MobileHeight Declaration C# Visual Basic public int MobileHeight Public MobileHeight As Integer Field Value Type Description System.Int32 View Source MobileWidth Declaration C# Visual Basic public int MobileWidth Public MobileWidth As Integer Field Value Type Description System.Int32 View Source Name Declaration C# Visual Basic public string Name Public Name As String Field Value Type Description System.String View Source StartDate Declaration C# Visual Basic public DateTime? StartDate Public StartDate As Date? Field Value Type Description System.Nullable < System.DateTime > View Source Timespan Declaration C# Visual Basic public int Timespan Public Timespan As Integer Field Value Type Description System.Int32 View Source tsInterval Declaration C# Visual Basic public Constants.eGraphInterval tsInterval Public tsInterval As Constants.eGraphInterval Field Value Type Description Constants.eGraphInterval View Source Type Declaration C# Visual Basic public Constants.eGraphType Type Public Type As Constants.eGraphType Field Value Type Description Constants.eGraphType View Source Width Declaration C# Visual Basic public int Width Public Width As Integer Field Value Type Description System.Int32 View Source YAxis Declaration C# Visual Basic public int YAxis Public YAxis As Integer Field Value Type Description System.Int32"
},
"api/HomeSeer.PluginSdk.Energy.html": {
"href": "api/HomeSeer.PluginSdk.Energy.html",
"title": "Namespace HomeSeer.PluginSdk.Energy | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk.Energy Classes EnergyCalcData PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. EnergyData PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. EnergyGraph PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. EnergyGraphData PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution."
},
"api/HomeSeer.PluginSdk.Events.AbstractActionType.html": {
"href": "api/HomeSeer.PluginSdk.Events.AbstractActionType.html",
"title": "Class AbstractActionType | HomeSeer PluginSdk Docs",
"keywords": "Class AbstractActionType C# Visual Basic public abstract class AbstractActionType Public MustInherit Class AbstractActionType Inheritance System.Object AbstractActionType AbstractActionType2 Inherited Members System.Object.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll The base implementation of a plugin action type available for users to select in HomeSeer Inherit from this class to define your own action types and store them in your plugin's ActionTypeCollection Basic Usage Define a class in your plugin that inherits from AbstractActionType and implements the required members AbstractActionType.GetName() AbstractActionType.OnNewAction() AbstractActionType.IsFullyConfigured() AbstractActionType.OnConfigItemUpdate(AbstractView) AbstractActionType.GetPrettyString() AbstractActionType.OnRunAction() AbstractActionType.ReferencesDeviceOrFeature() public class MyCustomActionType : AbstractActionType { //All of these constructors must be implemented as is protected MyCustomActionType(int id, int subTypeNumber, int eventRef, byte[] dataIn, ActionTypeCollection.IActionTypeListener listener) : base(id, subTypeNumber, eventRef, dataIn, listener) { } protected MyCustomActionType() {} //No code should be contained within these constructors //Return the display name of this action type protected override string GetName() => \"My Custom Action Type\"; protected override void OnNewAction() { //Initialize the config page for a new action of this type } public override bool IsFullyConfigured() { //Return whether the action is fully configured or not } protected override bool OnConfigItemUpdate(AbstractView configViewChange) { //React to changes to the action configuration } public override string GetPrettyString() { //Return a string describing the action to take } public override bool OnRunAction() { //Execute the action } public override bool ReferencesDeviceOrFeature(int devOrFeatRef) => false; } and add it to the ActionTypeCollection implementation in your plugin class protected override void Initialize() { ... ActionTypes.AddActionType(typeof(MyCustomActionType)); ... } Lifecycle It is important to not include any additional code in the constructors for custom action types because the lifecycle of actions is managed by the HomeSeer platform. Methods like AbstractActionType.OnNewAction() , AbstractActionType.IsFullyConfigured() , and AbstractActionType.OnConfigItemUpdate(AbstractView) are called by HomeSeer throughout the life of the action. Include the corresponding logic for your custom action type in the relevant methods. The typical lifecycle of an action can be seen in the following diagram. ** Edits made to InputViews are not automatically captured like other ViewTypes and will only call OnConfigItemUpdate() when the user clicks the Save button. Constructors View Source AbstractActionType() Initialize a new, unconfigured AbstractActionType This is called through reflection by the ActionTypeCollection class if a class that derives from this type is added to its list. Declaration C# Visual Basic protected AbstractActionType() Protected Sub New View Source AbstractActionType(Int32, Int32, Byte[], ActionTypeCollection.IActionTypeListener) Initialize a new AbstractActionType with the specified ID, Event Ref, and Data byte array. The byte array will be automatically parsed for a Page , and a new one will be created if the array is empty. This is called through reflection by the ActionTypeCollection class if a class that derives from this type is added to its list. You MUST implement one of these constructors in any class that derives from AbstractActionType Declaration C# Visual Basic protected AbstractActionType(int id, int eventRef, byte[] dataIn, ActionTypeCollection.IActionTypeListener listener) Protected Sub New(id As Integer, eventRef As Integer, dataIn As Byte(), listener As ActionTypeCollection.IActionTypeListener) Parameters Type Name Description System.Int32 id The unique ID of this action in HomeSeer System.Int32 eventRef The event reference ID that this action is associated with in HomeSeer System.Byte [] dataIn A byte array containing the definition for a Page ActionTypeCollection.IActionTypeListener listener The listener that facilitates the communication with AbstractPlugin View Source AbstractActionType(Int32, Int32, Byte[], ActionTypeCollection.IActionTypeListener, Boolean) Initialize a new AbstractActionType with the specified ID, Event Ref, and Data byte array. The byte array will be automatically parsed for a Page , and a new one will be created if the array is empty. This is called through reflection by the ActionTypeCollection class if a class that derives from this type is added to its list. You MUST implement this constructor in any class that derives from AbstractActionType Declaration C# Visual Basic protected AbstractActionType(int id, int eventRef, byte[] dataIn, ActionTypeCollection.IActionTypeListener listener, bool logDebug = false) Protected Sub New(id As Integer, eventRef As Integer, dataIn As Byte(), listener As ActionTypeCollection.IActionTypeListener, logDebug As Boolean = False) Parameters Type Name Description System.Int32 id The unique ID of this action in HomeSeer System.Int32 eventRef The event reference ID that this action is associated with in HomeSeer System.Byte [] dataIn A byte array containing the definition for a Page ActionTypeCollection.IActionTypeListener listener The listener that facilitates the communication with AbstractPlugin System.Boolean logDebug If true debug messages will be written to the console View Source AbstractActionType(Int32, Int32, Int32, Byte[], ActionTypeCollection.IActionTypeListener) Initialize a new AbstractActionType with the specified ID, Event Ref, and Data byte array. The byte array will be automatically parsed for a Page , and a new one will be created if the array is empty. This is called through reflection by the ActionTypeCollection class if a class that derives from this type is added to its list. You MUST implement one of these constructors in any class that derives from AbstractActionType Declaration C# Visual Basic protected AbstractActionType(int id, int subTypeNumber, int eventRef, byte[] dataIn, ActionTypeCollection.IActionTypeListener listener) Protected Sub New(id As Integer, subTypeNumber As Integer, eventRef As Integer, dataIn As Byte(), listener As ActionTypeCollection.IActionTypeListener) Parameters Type Name Description System.Int32 id The unique ID of this action in HomeSeer System.Int32 subTypeNumber The action subtype number System.Int32 eventRef The event reference ID that this action is associated with in HomeSeer System.Byte [] dataIn A byte array containing the definition for a Page ActionTypeCollection.IActionTypeListener listener The listener that facilitates the communication with AbstractPlugin Fields View Source _configPage Declaration C# Visual Basic Page _configPage _configPage As Page Field Value Type Description Page View Source _data Declaration C# Visual Basic byte[] _data _data As Byte() Field Value Type Description System.Byte [] View Source _eventRef Declaration C# Visual Basic readonly int _eventRef ReadOnly _eventRef As Integer Field Value Type Description System.Int32 View Source _id Declaration C# Visual Basic readonly int _id ReadOnly _id As Integer Field Value Type Description System.Int32 View Source _inData Declaration C# Visual Basic readonly byte[] _inData ReadOnly _inData As Byte() Field Value Type Description System.Byte [] Properties View Source ActionListener An interface reference to the plugin that owns this action type. Define your own interface that inherits from ActionTypeCollection.IActionTypeListener and then cast this as the type you defined to get a reference to your plugin that can handle any methods you wish to define. This is usually used to have the plugin handle running the action. Declaration C# Visual Basic public ActionTypeCollection.IActionTypeListener ActionListener { get; } Public ReadOnly Property ActionListener As ActionTypeCollection.IActionTypeListener Property Value Type Description ActionTypeCollection.IActionTypeListener View Source ConfigPage The Page displayed to users to allow them to configure this action. The Name of this page is not used or displayed anywhere and is not important. Declaration C# Visual Basic protected Page ConfigPage { get; set; } Protected Property ConfigPage As Page Property Value Type Description Page Remarks The ID of this page must be equal to the automatic PageId . View Source Data The byte[] describing the current state of the ConfigPage for the action. Declaration C# Visual Basic public byte[] Data { get; } Public ReadOnly Property Data As Byte() Property Value Type Description System.Byte [] View Source EventRef The reference ID of the event the action is associated with. Declaration C# Visual Basic public int EventRef { get; } Public ReadOnly Property EventRef As Integer Property Value Type Description System.Int32 View Source Id The unique ID for the action. Declaration C# Visual Basic public int Id { get; } Public ReadOnly Property Id As Integer Property Value Type Description System.Int32 View Source LogDebug Used to enable/disable internal logging to the console When it is TRUE, log messages from the PluginSdk code will be written to the Console Declaration C# Visual Basic public bool LogDebug { get; set; } Public Property LogDebug As Boolean Property Value Type Description System.Boolean View Source Name The generic name of this action type that is displayed in the list of available actions a user can select from on the events page. Declaration C# Visual Basic public string Name { get; } Public ReadOnly Property Name As String Property Value Type Description System.String View Source PageId Use this as a unique prefix for all of your JUI views and as the ID for the ConfigPage Declaration C# Visual Basic protected string PageId { get; } Protected ReadOnly Property PageId As String Property Value Type Description System.String View Source SelectedSubActionIndex The currently selected sub-action index Declaration C# Visual Basic protected int SelectedSubActionIndex { get; } Protected ReadOnly Property SelectedSubActionIndex As Integer Property Value Type Description System.Int32 Remarks -1 if it is not set Methods View Source ConvertLegacyData(Byte[]) Called when legacy action data needs to be converted to the new format. Override this if you need to support legacy actions. Convert the UI to the new format and save it in the ConfigPage . Finally, return Data to automatically serialize the ConfigPage to byte[]. Use DeserializeLegacyData<TOutObject>(Byte[], Boolean) to deserialize the data using the legacy method. Declaration C# Visual Basic protected virtual byte[] ConvertLegacyData(byte[] inData) Protected Overridable Function ConvertLegacyData(inData As Byte()) As Byte() Parameters Type Name Description System.Byte [] inData A byte array describing the current action configuration in legacy format. Returns Type Description System.Byte [] A byte array describing the current action configuration in new format. Remarks This is also called if there was an error while trying to deserialize the modern data format as a fallback View Source Equals(Object) Declaration C# Visual Basic public override bool Equals(object obj) Public Overrides Function Equals(obj As Object) As Boolean Parameters Type Name Description System.Object obj Returns Type Description System.Boolean Overrides System.Object.Equals(System.Object) View Source GetData() Declaration C# Visual Basic virtual byte[] GetData() Overridable Function GetData As Byte() Returns Type Description System.Byte [] View Source GetHashCode() Declaration C# Visual Basic public override int GetHashCode() Public Overrides Function GetHashCode As Integer Returns Type Description System.Int32 Overrides System.Object.GetHashCode() View Source GetName() Called by HomeSeer to obtain the name of this action type. Declaration C# Visual Basic protected abstract string GetName() Protected MustOverride Function GetName As String Returns Type Description System.String A generic name for this action to be displayed in the list of available actions. View Source GetPrettyString() Called by HomeSeer when the action is configured and needs to be displayed to the user as an easy to read sentence that flows with an IF... THEN... format. Declaration C# Visual Basic public abstract string GetPrettyString() Public MustOverride Function GetPrettyString As String Returns Type Description System.String An easy to read, HTML formatted string describing the action as it would follow a THEN... View Source InflateActionFromData() Declaration C# Visual Basic void InflateActionFromData() Sub InflateActionFromData View Source IsFullyConfigured() Called to determine if this action is configured completely or if there is still more to configure. Declaration C# Visual Basic public abstract bool IsFullyConfigured() Public MustOverride Function IsFullyConfigured As Boolean Returns Type Description System.Boolean TRUE if the action is configured and can be formatted for display, FALSE if there are more options to configure before the action can be used. View Source OnConfigItemUpdate(AbstractView) Called when a view on the ConfigPage has been updated by a user and needs to be processed. Declaration C# Visual Basic protected abstract bool OnConfigItemUpdate(AbstractView configViewChange) Protected MustOverride Function OnConfigItemUpdate(configViewChange As AbstractView) As Boolean Parameters Type Name Description AbstractView configViewChange The new state of the view that was changed Returns Type Description System.Boolean TRUE to update the view in the ConfigPage and save the change, or FALSE to discard the change. View Source OnEditAction(Page) Called when an action of this type is being edited and changes need to be propagated to the ConfigPage Declaration C# Visual Basic protected virtual void OnEditAction(Page viewChanges) Protected Overridable Sub OnEditAction(viewChanges As Page) Parameters Type Name Description Page viewChanges A Page containing changes to the ConfigPage View Source OnNewAction() Called when a new action of this type is being created. Initialize the ConfigPage to the action's starting state so users can begin configuring it. Initialize a new ConfigPage and add views to it so the user can configure the trigger. Any JUI view added to the ConfigPage must use a unique ID as it will be displayed on an event page that could also be housing HTML from other plugins. It is recommended to use the PageId as a prefix for all views added to ensure that their IDs are unique. Declaration C# Visual Basic protected abstract void OnNewAction() Protected MustOverride Sub OnNewAction View Source OnRunAction() Called when this action needs to be executed. Declaration C# Visual Basic public abstract bool OnRunAction() Public MustOverride Function OnRunAction As Boolean Returns Type Description System.Boolean View Source ProcessData(Byte[]) Declaration C# Visual Basic virtual byte[] ProcessData(byte[] inData) Overridable Function ProcessData(inData As Byte()) As Byte() Parameters Type Name Description System.Byte [] inData Returns Type Description System.Byte [] View Source ProcessPostData(Dictionary<String, String>) Declaration C# Visual Basic bool ProcessPostData(Dictionary<string, string> changes) Function ProcessPostData(changes As Dictionary(Of String, String)) As Boolean Parameters Type Name Description System.Collections.Generic.Dictionary < System.String , System.String > changes Returns Type Description System.Boolean View Source ReferencesDeviceOrFeature(Int32) Called by HomeSeer to determine if this action references the device or feature with the specified ref. Declaration C# Visual Basic public abstract bool ReferencesDeviceOrFeature(int devOrFeatRef) Public MustOverride Function ReferencesDeviceOrFeature(devOrFeatRef As Integer) As Boolean Parameters Type Name Description System.Int32 devOrFeatRef The unique Ref to check for Returns Type Description System.Boolean TRUE if the action references the specified device/feature, FALSE if it does not. View Source ToHtml() Called by ActionTypeCollection when ActionBuildUI(TrigActInfo) is called to get the HTML to display to the user so they can configure the action. This HTML is automatically generated by the ConfigPage defined in the action. Declaration C# Visual Basic public string ToHtml() Public Function ToHtml As String Returns Type Description System.String HTML to show on the HomeSeer events page for the user."
},
"api/HomeSeer.PluginSdk.Events.AbstractActionType2.html": {
"href": "api/HomeSeer.PluginSdk.Events.AbstractActionType2.html",
"title": "Class AbstractActionType2 | HomeSeer PluginSdk Docs",
"keywords": "Class AbstractActionType2 C# Visual Basic public abstract class AbstractActionType2 : AbstractActionType Public MustInherit Class AbstractActionType2 Inherits AbstractActionType Inheritance System.Object AbstractActionType AbstractActionType2 Inherited Members AbstractActionType.LogDebug AbstractActionType.ActionListener AbstractActionType.Id AbstractActionType.EventRef AbstractActionType.Data AbstractActionType.Name AbstractActionType.SelectedSubActionIndex AbstractActionType.PageId AbstractActionType.ConfigPage AbstractActionType._id AbstractActionType._eventRef AbstractActionType._data AbstractActionType._configPage AbstractActionType._inData AbstractActionType.GetName() AbstractActionType.IsFullyConfigured() AbstractActionType.OnEditAction(Page) AbstractActionType.OnConfigItemUpdate(AbstractView) AbstractActionType.GetPrettyString() AbstractActionType.OnRunAction() AbstractActionType.ReferencesDeviceOrFeature(Int32) AbstractActionType.ToHtml() AbstractActionType.ProcessPostData(Dictionary<String, String>) AbstractActionType.ConvertLegacyData(Byte[]) AbstractActionType.InflateActionFromData() AbstractActionType.Equals(Object) AbstractActionType.GetHashCode() System.Object.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll The base implementation of a plugin action type available for users to select in HomeSeer The difference between AbstractActionType2 and AbstractActionType , is that with AbstractActionType2 only a collection of view Id/Value pairs is stored in database whereas with AbstractActionType the whole ConfigPage is stored. This allows the plugin to build the views in OnInstantiateAction(Dictionary<String, String>) every time an action is instantiated. Inherit from this class to define your own action types and store them in your plugin's ActionTypeCollection Constructors View Source AbstractActionType2() Initialize a new, unconfigured AbstractActionType2 This is called through reflection by the ActionTypeCollection class if a class that derives from this type is added to its list. Declaration C# Visual Basic protected AbstractActionType2() Protected Sub New View Source AbstractActionType2(Int32, Int32, Byte[], ActionTypeCollection.IActionTypeListener) Initialize a new AbstractActionType2 with the specified ID, Event Ref, and Data byte array. The byte array will be automatically parsed to a collection of view Id/Value pairs, and OnInstantiateAction(Dictionary<String, String>) will be called. This is called through reflection by the ActionTypeCollection class if a class that derives from this type is added to its list. You MUST implement one of these constructors in any class that derives from AbstractActionType2 Declaration C# Visual Basic protected AbstractActionType2(int id, int eventRef, byte[] dataIn, ActionTypeCollection.IActionTypeListener listener) Protected Sub New(id As Integer, eventRef As Integer, dataIn As Byte(), listener As ActionTypeCollection.IActionTypeListener) Parameters Type Name Description System.Int32 id The unique ID of this action in HomeSeer System.Int32 eventRef The event reference ID that this action is associated with in HomeSeer System.Byte [] dataIn A byte array containing a collection of view Id/Value pairs ActionTypeCollection.IActionTypeListener listener The listener that facilitates the communication with AbstractPlugin View Source AbstractActionType2(Int32, Int32, Byte[], ActionTypeCollection.IActionTypeListener, Boolean) Initialize a new AbstractActionType2 with the specified ID, Event Ref, Data byte array, listener, and logDebug flag. The byte array will be automatically parsed to a collection of view Id/Value pairs, and OnInstantiateAction(Dictionary<String, String>) will be called This is called through reflection by the ActionTypeCollection class if a class that derives from this type is added to its list. You MUST implement one of these constructors in any class that derives from AbstractActionType2 Declaration C# Visual Basic protected AbstractActionType2(int id, int eventRef, byte[] dataIn, ActionTypeCollection.IActionTypeListener listener, bool logDebug = false) Protected Sub New(id As Integer, eventRef As Integer, dataIn As Byte(), listener As ActionTypeCollection.IActionTypeListener, logDebug As Boolean = False) Parameters Type Name Description System.Int32 id The unique ID of this action in HomeSeer System.Int32 eventRef The event reference ID that this action is associated with in HomeSeer System.Byte [] dataIn A byte array containing a collection of view Id/Value pairs ActionTypeCollection.IActionTypeListener listener The listener that facilitates the communication with AbstractPlugin System.Boolean logDebug If true debug messages will be written to the console View Source AbstractActionType2(Int32, Int32, Int32, Byte[], ActionTypeCollection.IActionTypeListener) Initialize a new AbstractActionType2 with the specified ID, SubType number, Event Ref, Data byte array and listener. The byte array will be automatically parsed to a collection of view Id/Value pairs, and OnInstantiateAction(Dictionary<String, String>) will be called This is called through reflection by the ActionTypeCollection class if a class that derives from this type is added to its list. You MUST implement one of these constructors in any class that derives from AbstractActionType2 Declaration C# Visual Basic protected AbstractActionType2(int id, int subTypeNumber, int eventRef, byte[] dataIn, ActionTypeCollection.IActionTypeListener listener) Protected Sub New(id As Integer, subTypeNumber As Integer, eventRef As Integer, dataIn As Byte(), listener As ActionTypeCollection.IActionTypeListener) Parameters Type Name Description System.Int32 id The unique ID of this action in HomeSeer System.Int32 subTypeNumber The action subtype number System.Int32 eventRef The event reference ID that this action is associated with in HomeSeer System.Byte [] dataIn A byte array containing a collection of view Id/Value pairs ActionTypeCollection.IActionTypeListener listener The listener that facilitates the communication with AbstractPlugin Methods View Source GetData() Declaration C# Visual Basic override byte[] GetData() Overrides Function GetData As Byte() Returns Type Description System.Byte [] Overrides AbstractActionType.GetData() View Source OnInstantiateAction(Dictionary<String, String>) Called when an action of this type is being instantiated. Create the ConfigPage according to the values passed as parameters. If no value is passed it means it's a new action, so initialize the ConfigPage to the action's starting state so users can begin configuring it. Any JUI view added to the ConfigPage must use a unique ID as it will be displayed on an event page that could also be housing HTML from other plugins. It is recommended to use the PageId as a prefix for all views added to ensure that their IDs are unique. View Id/Value pairs containing the existing values for this action Declaration C# Visual Basic protected abstract void OnInstantiateAction(Dictionary<string, string> viewIdValuePairs) Protected MustOverride Sub OnInstantiateAction(viewIdValuePairs As Dictionary(Of String, String)) Parameters Type Name Description System.Collections.Generic.Dictionary < System.String , System.String > viewIdValuePairs View Source OnNewAction() Called when a new action of this type is being created. Initialize the ConfigPage to the action's starting state so users can begin configuring it. Initialize a new ConfigPage and add views to it so the user can configure the trigger. Any JUI view added to the ConfigPage must use a unique ID as it will be displayed on an event page that could also be housing HTML from other plugins. It is recommended to use the PageId as a prefix for all views added to ensure that their IDs are unique. Declaration C# Visual Basic protected override void OnNewAction() Protected Overrides Sub OnNewAction Overrides AbstractActionType.OnNewAction() Remarks With AbstractActionType2 there is no need to override this method. OnInstantiateAction(Dictionary<String, String>) will be called instead, with an empty Dictionary as parameter. View Source ProcessData(Byte[]) Declaration C# Visual Basic override byte[] ProcessData(byte[] inData) Overrides Function ProcessData(inData As Byte()) As Byte() Parameters Type Name Description System.Byte [] inData Returns Type Description System.Byte [] Overrides AbstractActionType.ProcessData(Byte[])"
},
"api/HomeSeer.PluginSdk.Events.AbstractTriggerType.html": {
"href": "api/HomeSeer.PluginSdk.Events.AbstractTriggerType.html",
"title": "Class AbstractTriggerType | HomeSeer PluginSdk Docs",
"keywords": "Class AbstractTriggerType C# Visual Basic public abstract class AbstractTriggerType Public MustInherit Class AbstractTriggerType Inheritance System.Object AbstractTriggerType AbstractTriggerType2 Inherited Members System.Object.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll The base implementation of a plugin trigger type available for users to select in HomeSeer Inherit from this class to define your own trigger types and store them in your plugin's TriggerTypeCollection Basic Usage Define a class in your plugin that inherits from AbstractTriggerType and implements the required members AbstractTriggerType.GetName() AbstractTriggerType.OnNewTrigger() AbstractTriggerType.IsFullyConfigured() AbstractTriggerType.OnConfigItemUpdate(AbstractView) AbstractTriggerType.GetPrettyString() AbstractTriggerType.IsTriggerTrue() AbstractTriggerType.ReferencesDeviceOrFeature() public class MyCustomTriggerType : AbstractTriggerType { //All of these constructors must be implemented as is protected MyCustomTriggerType(int id, int subTypeNumber, int eventRef, byte[] dataIn, TriggerTypeCollection.ITriggerTypeListener listener) : base(id, subTypeNumber, eventRef, dataIn, listener) { } protected MyCustomTriggerType() {} //No code should be contained within these constructors //Return the display name of this trigger type protected override string GetName() => \"My Custom Trigger Type\"; protected override void OnNewTrigger() { //Initialize the config page for a new trigger of this type } public override bool IsFullyConfigured() { //Return whether the trigger is fully configured or not } protected override bool OnConfigItemUpdate(AbstractView configViewChange) { //React to changes to the trigger configuration } public override string GetPrettyString() { //Return a string describing the trigger to take } public override bool IsTriggerTrue() { //Return whether the trigger condition has been met or not } public override bool ReferencesDeviceOrFeature(int devOrFeatRef) => false; } and add it to the TriggerTypeCollection implementation in your plugin class protected override void Initialize() { ... TriggerTypes.AddTriggerType(typeof(MyCustomTriggerType)); ... } Lifecycle It is important to not include any additional code in the constructors for custom trigger types because the lifecycle of triggers is managed by the HomeSeer platform. Methods like AbstractTriggerType.OnNewTrigger() , AbstractTriggerType.IsFullyConfigured() , and AbstractTriggerType.OnConfigItemUpdate(AbstractView) are called by HomeSeer throughout the life of the trigger. Include the corresponding logic for your custom trigger type in the relevant methods. The typical lifecycle of an trigger can be seen in the following diagram. ** Edits made to InputViews are not automatically captured like other ViewTypes and will only call OnConfigItemUpdate() when the user clicks the Save button. Constructors View Source AbstractTriggerType() Initialize a new, unconfigured AbstractTriggerType This is called through reflection by the TriggerTypeCollection class if a class that derives from this type is added to its list. Declaration C# Visual Basic protected AbstractTriggerType() Protected Sub New View Source AbstractTriggerType(TrigActInfo, TriggerTypeCollection.ITriggerTypeListener, Boolean) Initialize a new AbstractTriggerType from a TrigActInfo and with the specified listener, and logDebug flag. The byte array in trigInfo will be automatically parsed for a Page , and a new one will be created if the array is empty. This is called through reflection by the TriggerTypeCollection class if a class that derives from this type is added to its list. You MUST implement one of these constructor signatures in any class that derives from AbstractTriggerType Declaration C# Visual Basic protected AbstractTriggerType(TrigActInfo trigInfo, TriggerTypeCollection.ITriggerTypeListener listener, bool logDebug = false) Protected Sub New(trigInfo As TrigActInfo, listener As TriggerTypeCollection.ITriggerTypeListener, logDebug As Boolean = False) Parameters Type Name Description TrigActInfo trigInfo The TrigActInfo containing all the trigger information TriggerTypeCollection.ITriggerTypeListener listener The listener that facilitates the communication with AbstractPlugin System.Boolean logDebug If true debug messages will be written to the console View Source AbstractTriggerType(Int32, Int32, Int32, Byte[], TriggerTypeCollection.ITriggerTypeListener) Initialize a new AbstractTriggerType with the specified ID, Event Ref, Data byte array and listener. The byte array will be automatically parsed for a Page , and a new one will be created if the array is empty. This is called through reflection by the TriggerTypeCollection class if a class that derives from this type is added to its list. You MUST implement one of these constructor signatures in any class that derives from AbstractTriggerType Declaration C# Visual Basic protected AbstractTriggerType(int id, int eventRef, int selectedSubTriggerIndex, byte[] dataIn, TriggerTypeCollection.ITriggerTypeListener listener) Protected Sub New(id As Integer, eventRef As Integer, selectedSubTriggerIndex As Integer, dataIn As Byte(), listener As TriggerTypeCollection.ITriggerTypeListener) Parameters Type Name Description System.Int32 id The unique ID of this trigger in HomeSeer System.Int32 eventRef The event reference ID that this trigger is associated with in HomeSeer System.Int32 selectedSubTriggerIndex The 0 based index of the sub-trigger type selected for this trigger System.Byte [] dataIn A byte array containing the definition for a Page TriggerTypeCollection.ITriggerTypeListener listener The listener that facilitates the communication with AbstractPlugin View Source AbstractTriggerType(Int32, Int32, Int32, Byte[], TriggerTypeCollection.ITriggerTypeListener, Boolean) Initialize a new AbstractTriggerType with the specified ID, Event Ref, Data byte array, listener, and logDebug flag. The byte array will be automatically parsed for a Page , and a new one will be created if the array is empty. This is called through reflection by the TriggerTypeCollection class if a class that derives from this type is added to its list. You MUST implement one of these constructor signatures in any class that derives from AbstractTriggerType Declaration C# Visual Basic protected AbstractTriggerType(int id, int eventRef, int selectedSubTriggerIndex, byte[] dataIn, TriggerTypeCollection.ITriggerTypeListener listener, bool logDebug = false) Protected Sub New(id As Integer, eventRef As Integer, selectedSubTriggerIndex As Integer, dataIn As Byte(), listener As TriggerTypeCollection.ITriggerTypeListener, logDebug As Boolean = False) Parameters Type Name Description System.Int32 id The unique ID of this trigger in HomeSeer System.Int32 eventRef The event reference ID that this trigger is associated with in HomeSeer System.Int32 selectedSubTriggerIndex The 0 based index of the sub-trigger type selected for this trigger System.Byte [] dataIn A byte array containing the definition for a Page TriggerTypeCollection.ITriggerTypeListener listener The listener that facilitates the communication with AbstractPlugin System.Boolean logDebug If true debug messages will be written to the console Fields View Source _configPage Declaration C# Visual Basic Page _configPage _configPage As Page Field Value Type Description Page View Source _data Declaration C# Visual Basic byte[] _data _data As Byte() Field Value Type Description System.Byte [] View Source _eventRef Declaration C# Visual Basic int _eventRef _eventRef As Integer Field Value Type Description System.Int32 View Source _id Declaration C# Visual Basic int _id _id As Integer Field Value Type Description System.Int32 View Source _inData Declaration C# Visual Basic readonly byte[] _inData ReadOnly _inData As Byte() Field Value Type Description System.Byte [] View Source _selectedSubTriggerIndex Declaration C# Visual Basic int _selectedSubTriggerIndex _selectedSubTriggerIndex As Integer Field Value Type Description System.Int32 Properties View Source CanBeCondition A boolean value indicating whether this trigger type can be used as a condition or not. A condition is a trigger that operates in conjunction with another trigger in an AND/OR pattern. Declaration C# Visual Basic public virtual bool CanBeCondition { get; } Public Overridable ReadOnly Property CanBeCondition As Boolean Property Value Type Description System.Boolean View Source ConfigPage The Page displayed to users to allow them to configure this trigger. The Name of this page is not used or displayed anywhere and is not important. Declaration C# Visual Basic protected Page ConfigPage { get; set; } Protected Property ConfigPage As Page Property Value Type Description Page Remarks The ID of this page must be equal to the automatic PageId . View Source Data The byte[] describing the current state of the ConfigPage for the trigger. Declaration C# Visual Basic public byte[] Data { get; } Public ReadOnly Property Data As Byte() Property Value Type Description System.Byte [] View Source EventRef The reference ID of the event the trigger is associated with. Declaration C# Visual Basic public int EventRef { get; } Public ReadOnly Property EventRef As Integer Property Value Type Description System.Int32 View Source Id The unique ID for the trigger. Declaration C# Visual Basic public int Id { get; } Public ReadOnly Property Id As Integer Property Value Type Description System.Int32 View Source LogDebug Used to enable/disable internal logging to the console When it is TRUE, log messages from the PluginSdk code will be written to the Console Declaration C# Visual Basic public bool LogDebug { get; set; } Public Property LogDebug As Boolean Property Value Type Description System.Boolean View Source Name The generic name of this trigger type that is displayed in the list of available triggers a user can select from on the events page. Declaration C# Visual Basic public string Name { get; } Public ReadOnly Property Name As String Property Value Type Description System.String View Source PageId Use this as a unique prefix for all of your JUI views and as the ID for the ConfigPage Declaration C# Visual Basic protected string PageId { get; } Protected ReadOnly Property PageId As String Property Value Type Description System.String View Source SelectedSubTriggerIndex The currently selected sub-trigger index Declaration C# Visual Basic protected int SelectedSubTriggerIndex { get; } Protected ReadOnly Property SelectedSubTriggerIndex As Integer Property Value Type Description System.Int32 View Source SubTriggerCount The number of sub-trigger types this trigger type supports. Declaration C# Visual Basic public int SubTriggerCount { get; } Public ReadOnly Property SubTriggerCount As Integer Property Value Type Description System.Int32 View Source SubTriggerTypeNames A System.Collections.Generic.List<T> of names for the available sub-trigger types users can select from for this trigger type. Leave this list empty if the trigger type does not support any subtypes. Declaration C# Visual Basic protected virtual List<string> SubTriggerTypeNames { get; set; } Protected Overridable Property SubTriggerTypeNames As List(Of String) Property Value Type Description System.Collections.Generic.List < System.String > View Source TriggerListener An interface reference to the plugin that owns this trigger type. Define your own interface that inherits from TriggerTypeCollection.ITriggerTypeListener and then cast this as the type you defined to get a reference to your plugin that can handle any methods you wish to define. Declaration C# Visual Basic public TriggerTypeCollection.ITriggerTypeListener TriggerListener { get; } Public ReadOnly Property TriggerListener As TriggerTypeCollection.ITriggerTypeListener Property Value Type Description TriggerTypeCollection.ITriggerTypeListener Methods View Source ConvertLegacyData(Byte[]) Called when legacy trigger data needs to be converted to the new format Override this if you need to support legacy triggers. Convert the UI to the new format and save it in the ConfigPage . Finally, return Data to automatically serialize the ConfigPage to byte[]. Use DeserializeLegacyData<TOutObject>(Byte[], Boolean) to deserialize the data using the legacy method. Declaration C# Visual Basic protected virtual byte[] ConvertLegacyData(byte[] inData) Protected Overridable Function ConvertLegacyData(inData As Byte()) As Byte() Parameters Type Name Description System.Byte [] inData A byte array describing the current trigger configuration in legacy format. Returns Type Description System.Byte [] A byte array describing the current trigger configuration in new format. Remarks This is also called if there was an error while trying to deserialize the modern data format as a fallback View Source Equals(Object) Declaration C# Visual Basic public override bool Equals(object obj) Public Overrides Function Equals(obj As Object) As Boolean Parameters Type Name Description System.Object obj Returns Type Description System.Boolean Overrides System.Object.Equals(System.Object) View Source GetData() Declaration C# Visual Basic virtual byte[] GetData() Overridable Function GetData As Byte() Returns Type Description System.Byte [] View Source GetHashCode() Declaration C# Visual Basic public override int GetHashCode() Public Overrides Function GetHashCode As Integer Returns Type Description System.Int32 Overrides System.Object.GetHashCode() View Source GetName() Called by HomeSeer to obtain the name of this trigger type. Declaration C# Visual Basic protected abstract string GetName() Protected MustOverride Function GetName As String Returns Type Description System.String A generic name for this trigger to be displayed in the list of available triggers. View Source GetPrettyString() Called by HomeSeer when the trigger is configured and needs to be displayed to the user as an easy to read sentence that flows with an IF... THEN... format. This is currently a WIP (Work in Progress) The end goal is to provide a StringBuilder-like class that makes it easy to output pre-formatted HTML so that all common items are quickly identifiable by users. (ex. All device/feature names are colored the same and bolded) Declaration C# Visual Basic public abstract string GetPrettyString() Public MustOverride Function GetPrettyString As String Returns Type Description System.String An easy to read string describing the trigger as it would follow an IF... View Source GetSubTriggerName(Int32) Called by HomeSeer to obtain the name of the sub-trigger with the specified index Declaration C# Visual Basic public string GetSubTriggerName(int subTriggerNum) Public Function GetSubTriggerName(subTriggerNum As Integer) As String Parameters Type Name Description System.Int32 subTriggerNum The index of the requested sub-trigger in the SubTriggerTypeNames property Returns Type Description System.String The name of the sub-trigger for the specified index Exceptions Type Condition System.ArgumentOutOfRangeException Thrown when the index requested does not exist in the list of available sub-triggers for this trigger type. View Source InflateTriggerFromData() Declaration C# Visual Basic void InflateTriggerFromData() Sub InflateTriggerFromData View Source IsFullyConfigured() Called to determine if this trigger is configured completely or if there is still more to configure. Declaration C# Visual Basic public abstract bool IsFullyConfigured() Public MustOverride Function IsFullyConfigured As Boolean Returns Type Description System.Boolean TRUE if the trigger is configured and can be formatted for display, FALSE if there are more options to configure before the trigger can be used. View Source IsTriggerTrue(Boolean) Called by HomeSeer to determine if this trigger's conditions have been met. Declaration C# Visual Basic public abstract bool IsTriggerTrue(bool isCondition) Public MustOverride Function IsTriggerTrue(isCondition As Boolean) As Boolean Parameters Type Name Description System.Boolean isCondition TRUE if the trigger is paired with other triggers, FALSE if it is alone. Returns Type Description System.Boolean TRUE if the trigger's conditions have been met, FALSE if they haven't Remarks Always return TRUE if the trigger cannot be a condition and there is nothing to check when an event is manually executed by a user. View Source OnConfigItemUpdate(AbstractView) Called when a view on the ConfigPage has been updated by a user and needs to be processed. Declaration C# Visual Basic protected abstract bool OnConfigItemUpdate(AbstractView configViewChange) Protected MustOverride Function OnConfigItemUpdate(configViewChange As AbstractView) As Boolean Parameters Type Name Description AbstractView configViewChange The new state of the view that was changed Returns Type Description System.Boolean TRUE to update the view in the ConfigPage and save the change, or FALSE to discard the change. View Source OnEditTrigger(Page) Called when a trigger of this type is being edited and changes need to be propagated to the ConfigPage We do not recommend overriding this method unless you specifically want to adjust the way view changes are processed as a whole. Declaration C# Visual Basic protected virtual void OnEditTrigger(Page viewChanges) Protected Overridable Sub OnEditTrigger(viewChanges As Page) Parameters Type Name Description Page viewChanges A Page containing changes to the ConfigPage View Source OnNewTrigger() Called when a new trigger of this type is being created. Initialize the ConfigPage to the trigger's starting state so users can begin configuring it. You must create a new Page with a unique ID provided by PageId and be of the type EventTrigger . Any JUI view added to the ConfigPage must use a unique ID as it will be displayed on an event page that could also be housing HTML from other plugins. It is recommended to use the PageId as a prefix for all views added to ensure that their IDs are unique. If no page is set, a blank page will be auto initialized. Declaration C# Visual Basic protected abstract void OnNewTrigger() Protected MustOverride Sub OnNewTrigger View Source ProcessData(Byte[]) Declaration C# Visual Basic virtual byte[] ProcessData(byte[] inData) Overridable Function ProcessData(inData As Byte()) As Byte() Parameters Type Name Description System.Byte [] inData Returns Type Description System.Byte [] View Source ProcessPostData(Dictionary<String, String>) Declaration C# Visual Basic bool ProcessPostData(Dictionary<string, string> changes) Function ProcessPostData(changes As Dictionary(Of String, String)) As Boolean Parameters Type Name Description System.Collections.Generic.Dictionary < System.String , System.String > changes Returns Type Description System.Boolean View Source ReferencesDeviceOrFeature(Int32) Called by HomeSeer to determine if this trigger references the device or feature with the specified ref. Declaration C# Visual Basic public abstract bool ReferencesDeviceOrFeature(int devOrFeatRef) Public MustOverride Function ReferencesDeviceOrFeature(devOrFeatRef As Integer) As Boolean Parameters Type Name Description System.Int32 devOrFeatRef The unique Ref to check for Returns Type Description System.Boolean TRUE if the trigger references the specified device/feature, FALSE if it does not. View Source ToHtml() Called by TriggerTypeCollection when TriggerBuildUI(TrigActInfo) is called to get the HTML to display to the user so they can configure the action. This HTML is automatically generated by the ConfigPage defined in the trigger. Declaration C# Visual Basic public string ToHtml() Public Function ToHtml As String Returns Type Description System.String HTML to show on the HomeSeer events page for the user."
},
"api/HomeSeer.PluginSdk.Events.AbstractTriggerType2.html": {
"href": "api/HomeSeer.PluginSdk.Events.AbstractTriggerType2.html",
"title": "Class AbstractTriggerType2 | HomeSeer PluginSdk Docs",
"keywords": "Class AbstractTriggerType2 C# Visual Basic public abstract class AbstractTriggerType2 : AbstractTriggerType Public MustInherit Class AbstractTriggerType2 Inherits AbstractTriggerType Inheritance System.Object AbstractTriggerType AbstractTriggerType2 Inherited Members AbstractTriggerType.LogDebug AbstractTriggerType.TriggerListener AbstractTriggerType.Id AbstractTriggerType.EventRef AbstractTriggerType.Data AbstractTriggerType.Name AbstractTriggerType.CanBeCondition AbstractTriggerType.SubTriggerCount AbstractTriggerType.SelectedSubTriggerIndex AbstractTriggerType._inData AbstractTriggerType.PageId AbstractTriggerType.ConfigPage AbstractTriggerType.SubTriggerTypeNames AbstractTriggerType._id AbstractTriggerType._eventRef AbstractTriggerType._data AbstractTriggerType._configPage AbstractTriggerType._selectedSubTriggerIndex AbstractTriggerType.GetName() AbstractTriggerType.GetSubTriggerName(Int32) AbstractTriggerType.IsFullyConfigured() AbstractTriggerType.OnEditTrigger(Page) AbstractTriggerType.OnConfigItemUpdate(AbstractView) AbstractTriggerType.GetPrettyString() AbstractTriggerType.IsTriggerTrue(Boolean) AbstractTriggerType.ReferencesDeviceOrFeature(Int32) AbstractTriggerType.ToHtml() AbstractTriggerType.ProcessPostData(Dictionary<String, String>) AbstractTriggerType.ConvertLegacyData(Byte[]) AbstractTriggerType.InflateTriggerFromData() AbstractTriggerType.Equals(Object) AbstractTriggerType.GetHashCode() System.Object.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll The base implementation of a plugin trigger type available for users to select in HomeSeer The difference between AbstractTriggerType2 and AbstractTriggerType , is that with AbstractTriggerType2 only a collection of view Id/Value pairs is stored in database whereas with AbstractTriggerType the whole ConfigPage is stored. This allows the plugin to build the views in OnInstantiateTrigger(Dictionary<String, String>) every time a trigger is instantiated. Inherit from this class to define your own trigger types and store them in your plugin's TriggerTypeCollection Constructors View Source AbstractTriggerType2() Initialize a new, unconfigured AbstractTriggerType2 This is called through reflection by the TriggerTypeCollection class if a class that derives from this type is added to its list. Declaration C# Visual Basic protected AbstractTriggerType2() Protected Sub New View Source AbstractTriggerType2(TrigActInfo, TriggerTypeCollection.ITriggerTypeListener, Boolean) Initialize a new AbstractTriggerType2 from a TrigActInfo and with the specified listener, and logDebug flag. The byte array in trigInfo will be automatically parsed to a collection of view Id/Value pairs, and OnInstantiateTrigger(Dictionary<String, String>) will be called. This is called through reflection by the TriggerTypeCollection class if a class that derives from this type is added to its list. You MUST implement one of these constructor signatures in any class that derives from AbstractTriggerType2 Declaration C# Visual Basic protected AbstractTriggerType2(TrigActInfo trigInfo, TriggerTypeCollection.ITriggerTypeListener listener, bool logDebug = false) Protected Sub New(trigInfo As TrigActInfo, listener As TriggerTypeCollection.ITriggerTypeListener, logDebug As Boolean = False) Parameters Type Name Description TrigActInfo trigInfo The TrigActInfo containing all the trigger information TriggerTypeCollection.ITriggerTypeListener listener The listener that facilitates the communication with AbstractPlugin System.Boolean logDebug If true debug messages will be written to the console View Source AbstractTriggerType2(Int32, Int32, Int32, Byte[], TriggerTypeCollection.ITriggerTypeListener) Initialize a new AbstractTriggerType2 with the specified ID, Event Ref, Data byte array and listener. The byte array will be automatically parsed to a collection of view Id/Value pairs, and OnInstantiateTrigger(Dictionary<String, String>) will be called. This is called through reflection by the TriggerTypeCollection class if a class that derives from this type is added to its list. You MUST implement one of these constructor signatures in any class that derives from AbstractTriggerType2 Declaration C# Visual Basic protected AbstractTriggerType2(int id, int eventRef, int selectedSubTriggerIndex, byte[] dataIn, TriggerTypeCollection.ITriggerTypeListener listener) Protected Sub New(id As Integer, eventRef As Integer, selectedSubTriggerIndex As Integer, dataIn As Byte(), listener As TriggerTypeCollection.ITriggerTypeListener) Parameters Type Name Description System.Int32 id The unique ID of this trigger in HomeSeer System.Int32 eventRef The event reference ID that this trigger is associated with in HomeSeer System.Int32 selectedSubTriggerIndex The 0 based index of the sub-trigger type selected for this trigger System.Byte [] dataIn A byte array containing the definition for a Page TriggerTypeCollection.ITriggerTypeListener listener The listener that facilitates the communication with AbstractPlugin View Source AbstractTriggerType2(Int32, Int32, Int32, Byte[], TriggerTypeCollection.ITriggerTypeListener, Boolean) Initialize a new AbstractTriggerType2 with the specified ID, Event Ref, Data byte array, listener, and logDebug flag. The byte array will be automatically parsed to a collection of view Id/Value pairs, and OnInstantiateTrigger(Dictionary<String, String>) will be called. This is called through reflection by the TriggerTypeCollection class if a class that derives from this type is added to its list. You MUST implement one of these constructor signatures in any class that derives from AbstractTriggerType2 Declaration C# Visual Basic protected AbstractTriggerType2(int id, int eventRef, int selectedSubTriggerIndex, byte[] dataIn, TriggerTypeCollection.ITriggerTypeListener listener, bool logDebug = false) Protected Sub New(id As Integer, eventRef As Integer, selectedSubTriggerIndex As Integer, dataIn As Byte(), listener As TriggerTypeCollection.ITriggerTypeListener, logDebug As Boolean = False) Parameters Type Name Description System.Int32 id The unique ID of this trigger in HomeSeer System.Int32 eventRef The event reference ID that this trigger is associated with in HomeSeer System.Int32 selectedSubTriggerIndex The 0 based index of the sub-trigger type selected for this trigger System.Byte [] dataIn A byte array containing the definition for a Page TriggerTypeCollection.ITriggerTypeListener listener The listener that facilitates the communication with AbstractPlugin System.Boolean logDebug If true debug messages will be written to the console Methods View Source GetData() Declaration C# Visual Basic override byte[] GetData() Overrides Function GetData As Byte() Returns Type Description System.Byte [] Overrides AbstractTriggerType.GetData() View Source OnInstantiateTrigger(Dictionary<String, String>) Called when a trigger of this type is being instantiated. Create the ConfigPage according to the values passed as parameters. If no value is passed it means it's a new trigger, so initialize the ConfigPage to the trigger's starting state so users can begin configuring it. Any JUI view added to the ConfigPage must use a unique ID as it will be displayed on an event page that could also be housing HTML from other plugins. It is recommended to use the PageId as a prefix for all views added to ensure that their IDs are unique. View Id/Value pairs containing the existing values for this trigger Declaration C# Visual Basic protected abstract void OnInstantiateTrigger(Dictionary<string, string> viewIdValuePairs) Protected MustOverride Sub OnInstantiateTrigger(viewIdValuePairs As Dictionary(Of String, String)) Parameters Type Name Description System.Collections.Generic.Dictionary < System.String , System.String > viewIdValuePairs View Source OnNewTrigger() Called when a new trigger of this type is being created. Initialize the ConfigPage to the trigger's starting state so users can begin configuring it. You must create a new Page with a unique ID provided by PageId and be of the type EventTrigger . Any JUI view added to the ConfigPage must use a unique ID as it will be displayed on an event page that could also be housing HTML from other plugins. It is recommended to use the PageId as a prefix for all views added to ensure that their IDs are unique. If no page is set, a blank page will be auto initialized. Declaration C# Visual Basic protected override void OnNewTrigger() Protected Overrides Sub OnNewTrigger Overrides AbstractTriggerType.OnNewTrigger() Remarks With AbstractTriggerType2 there is no need to override this method. OnInstantiateTrigger(Dictionary<String, String>) will be called instead, with an empty Dictionary as parameter. View Source ProcessData(Byte[]) Declaration C# Visual Basic override byte[] ProcessData(byte[] inData) Overrides Function ProcessData(inData As Byte()) As Byte() Parameters Type Name Description System.Byte [] inData Returns Type Description System.Byte [] Overrides AbstractTriggerType.ProcessData(Byte[])"
},
"api/HomeSeer.PluginSdk.Events.ActionTypeCollection.html": {
"href": "api/HomeSeer.PluginSdk.Events.ActionTypeCollection.html",
"title": "Class ActionTypeCollection | HomeSeer PluginSdk Docs",
"keywords": "Class ActionTypeCollection C# Visual Basic public class ActionTypeCollection : BaseTypeCollection<AbstractActionType> Public Class ActionTypeCollection Inherits BaseTypeCollection(Of AbstractActionType) Inheritance System.Object BaseTypeCollection < AbstractActionType > ActionTypeCollection Inherited Members BaseTypeCollection<AbstractActionType>.Count BaseTypeCollection<AbstractActionType>.ConstructorSignatures BaseTypeCollection<AbstractActionType>.MatchAllSignatures BaseTypeCollection<AbstractActionType>._itemTypes BaseTypeCollection<AbstractActionType>._itemTypeNames BaseTypeCollection<AbstractActionType>.AddItemType(Type) BaseTypeCollection<AbstractActionType>.GetObjectFromInfo(Int32) BaseTypeCollection<AbstractActionType>.GetObjectFromInfo(Int32, Int32, Object[]) BaseTypeCollection<AbstractActionType>.TypeHasConstructor(Int32, Int32) BaseTypeCollection<AbstractActionType>.AssertTypeHasConstructors(Type) BaseTypeCollection<AbstractActionType>.AssertTypeHasEmptyConstructor(Type) BaseTypeCollection<AbstractActionType>.AssertTypeHasConstructor(Type, Type[]) System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll A collection of AbstractActionType s that can be used by users to create HomeSeer Event Actions. An instance of this class is a field on AbstractPlugin initialized in the constructor. In addition, all calls from HomeSeer related to actions are automatically routed through that instance. Remarks Add action types supported by your plugin using AddActionType(Type) Due to the fact that HomeSeer saves the index of the action type in its internal database, avoid changing the index of any of the types available to the user. Doing so may result in an incorrect AbstractActionType being instantiated and producing errors because the configuration parameters and signature of the action type do not match. Constructors View Source ActionTypeCollection(ActionTypeCollection.IActionTypeListener) Initialize a new instance of an ActionTypeCollection with the specified listener Declaration C# Visual Basic public ActionTypeCollection(ActionTypeCollection.IActionTypeListener listener) Public Sub New(listener As ActionTypeCollection.IActionTypeListener) Parameters Type Name Description ActionTypeCollection.IActionTypeListener listener An ActionTypeCollection.IActionTypeListener that will be passed to action types Fields View Source _listener Declaration C# Visual Basic ActionTypeCollection.IActionTypeListener _listener _listener As ActionTypeCollection.IActionTypeListener Field Value Type Description ActionTypeCollection.IActionTypeListener Properties View Source ActionTypes System.Collections.Generic.List<T> of System.Type that are a subclass of AbstractActionType Declaration C# Visual Basic public List<Type> ActionTypes { get; } Public ReadOnly Property ActionTypes As List(Of Type) Property Value Type Description System.Collections.Generic.List < System.Type > Remarks These represent the types of AbstractActionType that are available for users View Source LogDebug Used to enable/disable internal logging to the console When it is TRUE, log messages from the PluginSdk code will be written to the Console Declaration C# Visual Basic public bool LogDebug { get; set; } Public Property LogDebug As Boolean Property Value Type Description System.Boolean Methods View Source ActionReferencesDeviceOrFeature(Int32, TrigActInfo) Called by HomeSeer when it needs to determine if a specific device/feature is referenced by a particular action. Declaration C# Visual Basic public bool ActionReferencesDeviceOrFeature(int devOrFeatRef, TrigActInfo actInfo) Public Function ActionReferencesDeviceOrFeature(devOrFeatRef As Integer, actInfo As TrigActInfo) As Boolean Parameters Type Name Description System.Int32 devOrFeatRef The unique Ref of the device/feature TrigActInfo actInfo The action to check Returns Type Description System.Boolean TRUE if the action references the specified device/feature, FALSE if it does not. View Source AddActionType(Type) Add the specified class type that derives from AbstractActionType to the list of actions Declaration C# Visual Basic public void AddActionType(Type actionType) Public Sub AddActionType(actionType As Type) Parameters Type Name Description System.Type actionType The System.Type of the class that derives from AbstractActionType Exceptions Type Condition System.ArgumentException Thrown when the specified class type will not work as an action View Source GetName(Int32) Get the name of the action type at the specified index Declaration C# Visual Basic public string GetName(int actionIndex) Public Function GetName(actionIndex As Integer) As String Parameters Type Name Description System.Int32 actionIndex The 1 based index of the action type to get the name for Returns Type Description System.String The name of the action type View Source GetObjectFromActInfo(TrigActInfo) Get an instance of an AbstractActionType from a TrigActInfo . Declaration C# Visual Basic public AbstractActionType GetObjectFromActInfo(TrigActInfo actInfo) Public Function GetObjectFromActInfo(actInfo As TrigActInfo) As AbstractActionType Parameters Type Name Description TrigActInfo actInfo An instance of TrigActInfo that represents an action. Returns Type Description AbstractActionType An instance of an AbstractActionType . This will be one of the types in the ActionTypes list. Remarks TANumber is used to identify which of the AbstractActionTypes is used. Exceptions Type Condition System.TypeLoadException Thrown if the AbstractActionType that is referenced by TANumber does not have the proper constructor. AbstractActionType(Int32, Int32, Int32, Byte[], ActionTypeCollection.IActionTypeListener) AbstractActionType(Int32, Int32, Byte[], ActionTypeCollection.IActionTypeListener, Boolean) AbstractActionType(Int32, Int32, Byte[], ActionTypeCollection.IActionTypeListener) View Source HandleAction(TrigActInfo) Called by HomeSeer when an event has been triggered and a corresponding action needs to be processed. Declaration C# Visual Basic public bool HandleAction(TrigActInfo actInfo) Public Function HandleAction(actInfo As TrigActInfo) As Boolean Parameters Type Name Description TrigActInfo actInfo The action that is being executed Returns Type Description System.Boolean TRUE if the action executed successfully, FALSE if there was an error executing the action. View Source IsActionConfigured(TrigActInfo) Called by HomeSeer when it needs to determine if a specific action is completely configured or requires additional configuration before it can be used. Declaration C# Visual Basic public bool IsActionConfigured(TrigActInfo actInfo) Public Function IsActionConfigured(actInfo As TrigActInfo) As Boolean Parameters Type Name Description TrigActInfo actInfo The action to check Returns Type Description System.Boolean TRUE if the action is completely configured, FALSE if it is not. A call to OnGetActionUi(TrigActInfo) will be called following this if FALSE is returned. View Source OnGetActionPrettyString(TrigActInfo) Called by HomeSeer when it needs to get an easy to read, formatted string that communicates what the action does to the user. Declaration C# Visual Basic public string OnGetActionPrettyString(TrigActInfo actInfo) Public Function OnGetActionPrettyString(actInfo As TrigActInfo) As String Parameters Type Name Description TrigActInfo actInfo The action that a pretty string is needed for Returns Type Description System.String HTML formatted text communicating what the action does View Source OnGetActionUi(TrigActInfo) Called by HomeSeer when it needs to display the configuration UI for an action type Declaration C# Visual Basic public string OnGetActionUi(TrigActInfo actInfo) Public Function OnGetActionUi(actInfo As TrigActInfo) As String Parameters Type Name Description TrigActInfo actInfo The action to display as defined by TrigActInfo Returns Type Description System.String HTML to display on the event page for the specified action View Source OnUpdateActionConfig(Dictionary<String, String>, TrigActInfo) Called by HomeSeer when a user updates the configuration of an action and those changes are in need of processing. Declaration C# Visual Basic public EventUpdateReturnData OnUpdateActionConfig(Dictionary<string, string> postData, TrigActInfo actInfo) Public Function OnUpdateActionConfig(postData As Dictionary(Of String, String), actInfo As TrigActInfo) As EventUpdateReturnData Parameters Type Name Description System.Collections.Generic.Dictionary < System.String , System.String > postData A System.Collections.Generic.Dictionary<TKey, TValue> of changes to the action configuration TrigActInfo actInfo The action being configured Returns Type Description EventUpdateReturnData An EventUpdateReturnData describing the new state of the action that will be saved by HomeSeer. The action configuration will be saved if the result returned is an empty string."
},
"api/HomeSeer.PluginSdk.Events.ActionTypeCollection.IActionTypeListener.html": {
"href": "api/HomeSeer.PluginSdk.Events.ActionTypeCollection.IActionTypeListener.html",
"title": "Interface ActionTypeCollection.IActionTypeListener | HomeSeer PluginSdk Docs",
"keywords": "Interface ActionTypeCollection.IActionTypeListener C# Visual Basic public interface IActionTypeListener Public Interface IActionTypeListener Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll The base implementation of an action type interface that facilitates communication between AbstractActionType s and the AbstractPlugin that owns them. Extend this interface and have your AbstractPlugin implementation inherit it to make it accessible through the ActionListener field."
},
"api/HomeSeer.PluginSdk.Events.BaseTypeCollection-1.html": {
"href": "api/HomeSeer.PluginSdk.Events.BaseTypeCollection-1.html",
"title": "Class BaseTypeCollection<TBaseItemType> | HomeSeer PluginSdk Docs",
"keywords": "Class BaseTypeCollection<TBaseItemType> C# Visual Basic public class BaseTypeCollection<TBaseItemType> Public Class BaseTypeCollection(Of TBaseItemType) Inheritance System.Object BaseTypeCollection<TBaseItemType> ActionTypeCollection TriggerTypeCollection Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll A collection for holding types of classes that adhere to certain structural rules. Type Parameters Name Description TBaseItemType The type of item to manage Fields View Source _itemTypeNames System.Collections.Generic.HashSet<T> of class names representing the System.Type in _itemTypes Declaration C# Visual Basic HashSet<string> _itemTypeNames _itemTypeNames As HashSet(Of String) Field Value Type Description System.Collections.Generic.HashSet < System.String > View Source _itemTypes System.Collections.Generic.List<T> of System.Type that are a subclass of TBaseItemType Declaration C# Visual Basic protected List<Type> _itemTypes Protected _itemTypes As List(Of Type) Field Value Type Description System.Collections.Generic.List < System.Type > Properties View Source ConstructorSignatures A System.Collections.Generic.List<T> of constructor signatures Declaration C# Visual Basic protected List<Type[]> ConstructorSignatures { get; set; } Protected Property ConstructorSignatures As List(Of Type()) Property Value Type Description System.Collections.Generic.List < System.Type []> View Source Count The number of types that are supported by the collection Declaration C# Visual Basic public int Count { get; } Public ReadOnly Property Count As Integer Property Value Type Description System.Int32 View Source MatchAllSignatures Whether the items in the collection must match all of the listed ConstructorSignatures or just one. true if the items must match all constructor signatures. Declaration C# Visual Basic protected bool MatchAllSignatures { get; set; } Protected Property MatchAllSignatures As Boolean Property Value Type Description System.Boolean Methods View Source AddItemType(Type) Add the specified class type that derives from TBaseItemType to the list of item types Declaration C# Visual Basic protected void AddItemType(Type itemType) Protected Sub AddItemType(itemType As Type) Parameters Type Name Description System.Type itemType The System.Type of the class that derives from TBaseItemType Exceptions Type Condition System.ArgumentException Thrown when the specified class type will not work as the desired type View Source AssertTypeHasConstructor(Type, Type[]) Declaration C# Visual Basic static void AssertTypeHasConstructor(Type targetType, Type[] constructorParams) Shared Sub AssertTypeHasConstructor(targetType As Type, constructorParams As Type()) Parameters Type Name Description System.Type targetType System.Type [] constructorParams View Source AssertTypeHasConstructors(Type) Declaration C# Visual Basic void AssertTypeHasConstructors(Type targetType) Sub AssertTypeHasConstructors(targetType As Type) Parameters Type Name Description System.Type targetType View Source AssertTypeHasEmptyConstructor(Type) Declaration C# Visual Basic void AssertTypeHasEmptyConstructor(Type targetType) Sub AssertTypeHasEmptyConstructor(targetType As Type) Parameters Type Name Description System.Type targetType View Source GetObjectFromInfo(Int32) Get an instance of an object of the type defined at a specific index in the collection Declaration C# Visual Basic protected TBaseItemType GetObjectFromInfo(int itemIndex) Protected Function GetObjectFromInfo(itemIndex As Integer) As TBaseItemType Parameters Type Name Description System.Int32 itemIndex The index of the type to use Returns Type Description TBaseItemType Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown when no item is found at the specified index System.TypeLoadException Thrown when there was an error while creating an instance of the specified type View Source GetObjectFromInfo(Int32, Int32, Object[]) Get an instance of an object of the type defined at a specific index in the collection Declaration C# Visual Basic protected TBaseItemType GetObjectFromInfo(int itemIndex, int signatureIndex, params object[] inParams) Protected Function GetObjectFromInfo(itemIndex As Integer, signatureIndex As Integer, ParamArray inParams As Object()) As TBaseItemType Parameters Type Name Description System.Int32 itemIndex The index of the type to use System.Int32 signatureIndex The index of the constructor signature to use System.Object [] inParams The parameters to pass to the constructor Returns Type Description TBaseItemType Exceptions Type Condition System.ArgumentException Thrown when there was an issue with the provided parameters View Source TypeHasConstructor(Int32, Int32) Determine if a specific type has a particular constructor signature defined Declaration C# Visual Basic protected bool TypeHasConstructor(int itemIndex, int signatureIndex) Protected Function TypeHasConstructor(itemIndex As Integer, signatureIndex As Integer) As Boolean Parameters Type Name Description System.Int32 itemIndex The index of the type to use System.Int32 signatureIndex The index of the constructor signature to use Returns Type Description System.Boolean true if the type has the specific constructor defined Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown if a type or signature was not found at the specified index See Also ActionTypeCollection TriggerTypeCollection"
},
"api/HomeSeer.PluginSdk.Events.EEventFlag.html": {
"href": "api/HomeSeer.PluginSdk.Events.EEventFlag.html",
"title": "Enum EEventFlag | HomeSeer PluginSdk Docs",
"keywords": "Enum EEventFlag C# Visual Basic public enum EEventFlag : uint Public Enum EEventFlag As UInteger Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. Fields Name Description AmazonDiscoveryEnabled Expose this event to Amazon cloud services. Delayed DeleteAfterTrigger DoNotLog Enabled GoogleDiscoveryEnabled Expose this event to Google cloud services IncludeInPowerfail Priority Security"
},
"api/HomeSeer.PluginSdk.Events.EventData.html": {
"href": "api/HomeSeer.PluginSdk.Events.EventData.html",
"title": "Struct EventData | HomeSeer PluginSdk Docs",
"keywords": "Struct EventData C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public struct EventData <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Structure EventData Inherited Members System.ValueType.Equals(System.Object) System.ValueType.GetHashCode() System.ValueType.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. Fields View Source Action_Count Declaration C# Visual Basic public int Action_Count Public Action_Count As Integer Field Value Type Description System.Int32 View Source Actions Declaration C# Visual Basic public string[] Actions Public Actions As String() Field Value Type Description System.String [] View Source Event_Name Declaration C# Visual Basic public string Event_Name Public Event_Name As String Field Value Type Description System.String View Source Event_Ref Declaration C# Visual Basic public int Event_Ref Public Event_Ref As Integer Field Value Type Description System.Int32 View Source Event_Type Declaration C# Visual Basic public string Event_Type Public Event_Type As String Field Value Type Description System.String View Source Flag_Delayed_Event Declaration C# Visual Basic public bool Flag_Delayed_Event Public Flag_Delayed_Event As Boolean Field Value Type Description System.Boolean View Source Flag_Delete_After_Trigger Declaration C# Visual Basic public bool Flag_Delete_After_Trigger Public Flag_Delete_After_Trigger As Boolean Field Value Type Description System.Boolean View Source Flag_Do_Not_Log Declaration C# Visual Basic public bool Flag_Do_Not_Log Public Flag_Do_Not_Log As Boolean Field Value Type Description System.Boolean View Source Flag_Enabled Declaration C# Visual Basic public bool Flag_Enabled Public Flag_Enabled As Boolean Field Value Type Description System.Boolean View Source Flag_Include_in_Powerfail Declaration C# Visual Basic public bool Flag_Include_in_Powerfail Public Flag_Include_in_Powerfail As Boolean Field Value Type Description System.Boolean View Source Flag_Priority_Event Declaration C# Visual Basic public bool Flag_Priority_Event Public Flag_Priority_Event As Boolean Field Value Type Description System.Boolean View Source Flag_Security Declaration C# Visual Basic public bool Flag_Security Public Flag_Security As Boolean Field Value Type Description System.Boolean View Source FlagAlexaDiscoveryEnabled Event can be discovered by Amazon alexa Declaration C# Visual Basic public bool FlagAlexaDiscoveryEnabled Public FlagAlexaDiscoveryEnabled As Boolean Field Value Type Description System.Boolean View Source FlagGoogleDiscoveryEnabled Event can be discovered by Google Home Declaration C# Visual Basic public bool FlagGoogleDiscoveryEnabled Public FlagGoogleDiscoveryEnabled As Boolean Field Value Type Description System.Boolean View Source FlagVoiceCommand Event can be controlled by voice using the event name or the voice command override, must be set if Amazon or Google is set Declaration C# Visual Basic public bool FlagVoiceCommand Public FlagVoiceCommand As Boolean Field Value Type Description System.Boolean View Source GroupID Declaration C# Visual Basic public int GroupID Public GroupID As Integer Field Value Type Description System.Int32 View Source GroupName Declaration C# Visual Basic public string GroupName Public GroupName As String Field Value Type Description System.String View Source Last_Triggered Declaration C# Visual Basic public DateTime Last_Triggered Public Last_Triggered As Date Field Value Type Description System.DateTime View Source Retrigger_Delay Declaration C# Visual Basic public TimeSpan Retrigger_Delay Public Retrigger_Delay As TimeSpan Field Value Type Description System.TimeSpan View Source Trigger_Count Declaration C# Visual Basic public int Trigger_Count Public Trigger_Count As Integer Field Value Type Description System.Int32 View Source Trigger_Group_Count Declaration C# Visual Basic public int Trigger_Group_Count Public Trigger_Group_Count As Integer Field Value Type Description System.Int32 View Source Trigger_Groups Declaration C# Visual Basic public EventTriggerGroupData[] Trigger_Groups Public Trigger_Groups As EventTriggerGroupData() Field Value Type Description EventTriggerGroupData [] View Source UserNote Declaration C# Visual Basic public string UserNote Public UserNote As String Field Value Type Description System.String"
},
"api/HomeSeer.PluginSdk.Events.EventGroupData.html": {
"href": "api/HomeSeer.PluginSdk.Events.EventGroupData.html",
"title": "Struct EventGroupData | HomeSeer PluginSdk Docs",
"keywords": "Struct EventGroupData C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public struct EventGroupData <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Structure EventGroupData Inherited Members System.ValueType.Equals(System.Object) System.ValueType.GetHashCode() System.ValueType.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. Fields View Source Global_Actions Declaration C# Visual Basic public string[] Global_Actions Public Global_Actions As String() Field Value Type Description System.String [] View Source Global_Actions_Count Declaration C# Visual Basic public int Global_Actions_Count Public Global_Actions_Count As Integer Field Value Type Description System.Int32 View Source Global_Conditions Declaration C# Visual Basic public string[] Global_Conditions Public Global_Conditions As String() Field Value Type Description System.String [] View Source Global_Conditions_Count Declaration C# Visual Basic public int Global_Conditions_Count Public Global_Conditions_Count As Integer Field Value Type Description System.Int32 View Source GroupID Declaration C# Visual Basic public int GroupID Public GroupID As Integer Field Value Type Description System.Int32 View Source GroupName Declaration C# Visual Basic public string GroupName Public GroupName As String Field Value Type Description System.String"
},
"api/HomeSeer.PluginSdk.Events.EventTriggerGroupData.html": {
"href": "api/HomeSeer.PluginSdk.Events.EventTriggerGroupData.html",
"title": "Struct EventTriggerGroupData | HomeSeer PluginSdk Docs",
"keywords": "Struct EventTriggerGroupData C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public struct EventTriggerGroupData <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Structure EventTriggerGroupData Inherited Members System.ValueType.Equals(System.Object) System.ValueType.GetHashCode() System.ValueType.ToString() System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. Fields View Source GroupNumber Declaration C# Visual Basic public int GroupNumber Public GroupNumber As Integer Field Value Type Description System.Int32 View Source Triggers Declaration C# Visual Basic public string[] Triggers Public Triggers As String() Field Value Type Description System.String []"
},
"api/HomeSeer.PluginSdk.Events.html": {
"href": "api/HomeSeer.PluginSdk.Events.html",
"title": "Namespace HomeSeer.PluginSdk.Events | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk.Events Classes AbstractActionType The base implementation of a plugin action type available for users to select in HomeSeer Inherit from this class to define your own action types and store them in your plugin's ActionTypeCollection AbstractActionType2 The base implementation of a plugin action type available for users to select in HomeSeer The difference between AbstractActionType2 and AbstractActionType , is that with AbstractActionType2 only a collection of view Id/Value pairs is stored in database whereas with AbstractActionType the whole ConfigPage is stored. This allows the plugin to build the views in OnInstantiateAction(Dictionary<String, String>) every time an action is instantiated. Inherit from this class to define your own action types and store them in your plugin's ActionTypeCollection AbstractTriggerType The base implementation of a plugin trigger type available for users to select in HomeSeer Inherit from this class to define your own trigger types and store them in your plugin's TriggerTypeCollection AbstractTriggerType2 The base implementation of a plugin trigger type available for users to select in HomeSeer The difference between AbstractTriggerType2 and AbstractTriggerType , is that with AbstractTriggerType2 only a collection of view Id/Value pairs is stored in database whereas with AbstractTriggerType the whole ConfigPage is stored. This allows the plugin to build the views in OnInstantiateTrigger(Dictionary<String, String>) every time a trigger is instantiated. Inherit from this class to define your own trigger types and store them in your plugin's TriggerTypeCollection ActionTypeCollection A collection of AbstractActionType s that can be used by users to create HomeSeer Event Actions. An instance of this class is a field on AbstractPlugin initialized in the constructor. In addition, all calls from HomeSeer related to actions are automatically routed through that instance. BaseTypeCollection<TBaseItemType> A collection for holding types of classes that adhere to certain structural rules. TrigActInfo The internal data stored by HomeSeer describing a particular event action or trigger. Instances of this class are created and managed by HomeSeer and are passed through the AbstractPlugin to the ActionTypeCollection and TriggerTypeCollection respectively. You shouldn't need to work with this class directly and can rely on the decoded pieces exposed through the AbstractActionType and AbstractTriggerType classes in most situations. TriggerTypeCollection A collection of AbstractTriggerType s that can be used by users to create HomeSeer Event Triggers. An instance of this class is a field on AbstractPlugin initialized in the constructor. In addition, all calls from HomeSeer related to triggers are automatically routed through that instance. Structs EventData PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. EventGroupData PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. EventTriggerGroupData PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. Interfaces ActionTypeCollection.IActionTypeListener The base implementation of an action type interface that facilitates communication between AbstractActionType s and the AbstractPlugin that owns them. Extend this interface and have your AbstractPlugin implementation inherit it to make it accessible through the ActionListener field. TriggerTypeCollection.ITriggerTypeListener The base implementation of a trigger type interface that facilitates communication between AbstractTriggerType s and the AbstractPlugin that owns them. Extend this interface and have your AbstractPlugin implementation inherit it to make it accessible through the TriggerListener field. Enums EEventFlag PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution."
},
"api/HomeSeer.PluginSdk.Events.TrigActInfo.html": {
"href": "api/HomeSeer.PluginSdk.Events.TrigActInfo.html",
"title": "Class TrigActInfo | HomeSeer PluginSdk Docs",
"keywords": "Class TrigActInfo C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class TrigActInfo <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class TrigActInfo Inheritance System.Object TrigActInfo Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll The internal data stored by HomeSeer describing a particular event action or trigger. Instances of this class are created and managed by HomeSeer and are passed through the AbstractPlugin to the ActionTypeCollection and TriggerTypeCollection respectively. You shouldn't need to work with this class directly and can rely on the decoded pieces exposed through the AbstractActionType and AbstractTriggerType classes in most situations. Fields View Source DataIn Serialized data for this action or trigger that the plugin needs. This is stored within the HomeSeer database and serves as the configuration for the ActionTypeCollection and TriggerTypeCollection this is for. Declaration C# Visual Basic public byte[] DataIn Public DataIn As Byte() Field Value Type Description System.Byte [] Remarks This is automatically unpacked by AbstractActionType and AbstractTriggerType if it contains a JSON string describing a Page . If it contains any other data format, like data from an HS3 plugin, AbstractTriggerType.ConvertLegacyData or AbstractActionType.ConvertLegacyData will be called. You can override these methods to define your own method for unpacking the data. See Also AbstractTriggerType AbstractActionType View Source evRef This is the unique event reference ID number for the event that this trigger is a part of. Declaration C# Visual Basic public int evRef Public evRef As Integer Field Value Type Description System.Int32 See Also EventData View Source Instance If the plug-in supports multiple instances and this trigger or action is for one of the instances, then this field will have the instance name in it. Declaration C# Visual Basic public string Instance Public Instance As String Field Value Type Description System.String Remarks Multi-instance plugins were supported in HS3, but support for them was not carried over to HS4. This may change in the future, but, for now, this is an unused field. View Source SubTANumber When a trigger has subtypes, this is used to identify which sub-trigger or trigger subtype, this trigger is set to. For example, in HomeSeer there is a TIME trigger - this might identify whether it is the type AT, BEFORE, or AFTER a time value. Declaration C# Visual Basic public int SubTANumber Public SubTANumber As Integer Field Value Type Description System.Int32 Remarks This is only used for triggers and can be ignored in favor of managing a subtype directly. HomeSeer will present a list of trigger subtypes to choose from if SubTriggerCount > 1. HomeSeer does not do the same for actions , and there is no corresponding SubActionCount property. View Source TANumber This is for plugin reference only. Plugins can support multiple types of different triggers or actions. This identifies which type of trigger or action, out of the triggers or actions offered by the plugin, that this TrigActInfo is for. Declaration C# Visual Basic public int TANumber Public TANumber As Integer Field Value Type Description System.Int32 See Also ActionTypes TriggerTypes ActionTypeCollection TriggerTypeCollection View Source UID This is the unique ID for the trigger or action within an event that this TrigActInfo is for. Declaration C# Visual Basic public int UID Public UID As Integer Field Value Type Description System.Int32 Remarks When the trigger is true, the plugin will pass this to HomeSeer to trigger to cause HomeSeer to check the conditions and trigger the event if appropriate. When the action needs to be carried out, HomeSeer will invoke the Handle procedure in the action, and if there is action information stored by the plugin, this property can be used to retrieve it. Methods View Source DeserializeLegacyData<TOutObject>(Byte[], Boolean) Deserialize the specified byte array to an object of type TOutObject using the legacy HomeSeer method for deserializing trigger/action data. Declaration C# Visual Basic public static TOutObject DeserializeLegacyData<TOutObject>(byte[] inData, bool willLog = false) where TOutObject : class Public Shared Function DeserializeLegacyData(Of TOutObject As Class)(inData As Byte(), willLog As Boolean = False) As TOutObject Parameters Type Name Description System.Byte [] inData The byte array to deserialize. System.Boolean willLog Whether the method should write log messages to the console. Returns Type Description TOutObject An object of type TOutObject or null if it was unsuccessful. Type Parameters Name Description TOutObject The type of object to deserialize the data to. Must be a class."
},
"api/HomeSeer.PluginSdk.Events.TriggerTypeCollection.html": {
"href": "api/HomeSeer.PluginSdk.Events.TriggerTypeCollection.html",
"title": "Class TriggerTypeCollection | HomeSeer PluginSdk Docs",
"keywords": "Class TriggerTypeCollection C# Visual Basic public class TriggerTypeCollection : BaseTypeCollection<AbstractTriggerType> Public Class TriggerTypeCollection Inherits BaseTypeCollection(Of AbstractTriggerType) Inheritance System.Object BaseTypeCollection < AbstractTriggerType > TriggerTypeCollection Inherited Members BaseTypeCollection<AbstractTriggerType>.Count BaseTypeCollection<AbstractTriggerType>.ConstructorSignatures BaseTypeCollection<AbstractTriggerType>.MatchAllSignatures BaseTypeCollection<AbstractTriggerType>._itemTypes BaseTypeCollection<AbstractTriggerType>._itemTypeNames BaseTypeCollection<AbstractTriggerType>.AddItemType(Type) BaseTypeCollection<AbstractTriggerType>.GetObjectFromInfo(Int32) BaseTypeCollection<AbstractTriggerType>.GetObjectFromInfo(Int32, Int32, Object[]) BaseTypeCollection<AbstractTriggerType>.TypeHasConstructor(Int32, Int32) BaseTypeCollection<AbstractTriggerType>.AssertTypeHasConstructors(Type) BaseTypeCollection<AbstractTriggerType>.AssertTypeHasEmptyConstructor(Type) BaseTypeCollection<AbstractTriggerType>.AssertTypeHasConstructor(Type, Type[]) System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll A collection of AbstractTriggerType s that can be used by users to create HomeSeer Event Triggers. An instance of this class is a field on AbstractPlugin initialized in the constructor. In addition, all calls from HomeSeer related to triggers are automatically routed through that instance. Remarks Add trigger types supported by your plugin using AddTriggerType(Type) Due to the fact that HomeSeer saves the index of the trigger type in its internal database, avoid changing the index of any of the types available to the user. Doing so may result in an incorrect AbstractTriggerType being instantiated and producing errors because the configuration parameters and signature of the trigger type do not match. Constructors View Source TriggerTypeCollection(TriggerTypeCollection.ITriggerTypeListener) Initialize a new instance of an TriggerTypeCollection with the specified listener Declaration C# Visual Basic public TriggerTypeCollection(TriggerTypeCollection.ITriggerTypeListener listener) Public Sub New(listener As TriggerTypeCollection.ITriggerTypeListener) Parameters Type Name Description TriggerTypeCollection.ITriggerTypeListener listener An TriggerTypeCollection.ITriggerTypeListener that will be passed to trigger types Fields View Source _listener Declaration C# Visual Basic TriggerTypeCollection.ITriggerTypeListener _listener _listener As TriggerTypeCollection.ITriggerTypeListener Field Value Type Description TriggerTypeCollection.ITriggerTypeListener Properties View Source LogDebug Used to enable/disable internal logging to the console When it is TRUE, log messages from the PluginSdk code will be written to the Console Declaration C# Visual Basic public bool LogDebug { get; set; } Public Property LogDebug As Boolean Property Value Type Description System.Boolean View Source TriggerTypes System.Collections.Generic.List<T> of System.Type that are a subclass of AbstractTriggerType Declaration C# Visual Basic public List<Type> TriggerTypes { get; } Public ReadOnly Property TriggerTypes As List(Of Type) Property Value Type Description System.Collections.Generic.List < System.Type > Remarks These represent the types of AbstractTriggerType that are available for users Methods View Source AddTriggerType(Type) Add the specified class type that derives from AbstractTriggerType to the list of triggers Declaration C# Visual Basic public void AddTriggerType(Type triggerType) Public Sub AddTriggerType(triggerType As Type) Parameters Type Name Description System.Type triggerType The System.Type of the class that derives from AbstractTriggerType Exceptions Type Condition System.ArgumentException Thrown when the specified class type will not work as a trigger View Source GetName(Int32) Get the name of the trigger type at the specified index Declaration C# Visual Basic public string GetName(int triggerIndex) Public Function GetName(triggerIndex As Integer) As String Parameters Type Name Description System.Int32 triggerIndex The 1 based index of the trigger type to get the name for Returns Type Description System.String The name of the trigger type View Source GetObjectFromTrigInfo(TrigActInfo) Get an instance of an AbstractTriggerType from a TrigActInfo . Declaration C# Visual Basic public AbstractTriggerType GetObjectFromTrigInfo(TrigActInfo trigInfo) Public Function GetObjectFromTrigInfo(trigInfo As TrigActInfo) As AbstractTriggerType Parameters Type Name Description TrigActInfo trigInfo An instance of TrigActInfo that represents a trigger. Returns Type Description AbstractTriggerType An instance of an AbstractTriggerType . This will be one of the types in the TriggerTypes list. Remarks TANumber is used to identify which of the AbstractTriggerTypes is used. Exceptions Type Condition System.TypeLoadException Thrown if the AbstractTriggerType that is referenced by TANumber does not have the proper constructor. AbstractTriggerType(Int32, Int32, Int32, Byte[], TriggerTypeCollection.ITriggerTypeListener) AbstractTriggerType(Int32, Int32, Int32, Byte[], TriggerTypeCollection.ITriggerTypeListener, Boolean) View Source GetSubTriggerCount(Int32) Called by HomeSeer to determine the number of available sub-trigger types available under the trigger type at the specified index. Declaration C# Visual Basic public int GetSubTriggerCount(int triggerIndex) Public Function GetSubTriggerCount(triggerIndex As Integer) As Integer Parameters Type Name Description System.Int32 triggerIndex The 1 based index of the trigger type to get the sub-trigger count for Returns Type Description System.Int32 The number of sub-trigger types available under the trigger type specified View Source GetSubTriggerName(Int32, Int32) Get the name of the sub-trigger type at the specified index Declaration C# Visual Basic public string GetSubTriggerName(int triggerIndex, int subTriggerIndex) Public Function GetSubTriggerName(triggerIndex As Integer, subTriggerIndex As Integer) As String Parameters Type Name Description System.Int32 triggerIndex The 1 based index of the trigger type the sub-trigger is a member of System.Int32 subTriggerIndex The 1 based index of the sub-trigger type to get the name for Returns Type Description System.String The name of the sub-trigger type View Source IsTriggerConfigured(TrigActInfo) Called by HomeSeer when it needs to determine if a specific trigger is completely configured or requires additional configuration before it can be used. Declaration C# Visual Basic public bool IsTriggerConfigured(TrigActInfo trigInfo) Public Function IsTriggerConfigured(trigInfo As TrigActInfo) As Boolean Parameters Type Name Description TrigActInfo trigInfo The trigger to check Returns Type Description System.Boolean TRUE if the trigger is completely configured, FALSE if it is not. A call to OnGetTriggerUi(TrigActInfo) will be called following this if FALSE is returned. View Source IsTriggerTrue(TrigActInfo, Boolean) Called by HomeSeer to determine if a trigger's conditions have been met. Declaration C# Visual Basic public bool IsTriggerTrue(TrigActInfo trigInfo, bool isCondition) Public Function IsTriggerTrue(trigInfo As TrigActInfo, isCondition As Boolean) As Boolean Parameters Type Name Description TrigActInfo trigInfo The trigger to check System.Boolean isCondition TRUE if the trigger is paired with other triggers, FALSE if it is alone. Returns Type Description System.Boolean TRUE if the trigger's conditions have been met, FALSE if they haven't View Source OnGetTriggerPrettyString(TrigActInfo) Called by HomeSeer when it needs to get an easy to read, formatted string that communicates what the trigger does to the user. Declaration C# Visual Basic public string OnGetTriggerPrettyString(TrigActInfo trigInfo) Public Function OnGetTriggerPrettyString(trigInfo As TrigActInfo) As String Parameters Type Name Description TrigActInfo trigInfo The trigger that a pretty string is needed for Returns Type Description System.String HTML formatted text communicating what the trigger does View Source OnGetTriggerUi(TrigActInfo) Called by HomeSeer when it needs to display the configuration UI for a trigger type Declaration C# Visual Basic public string OnGetTriggerUi(TrigActInfo trigInfo) Public Function OnGetTriggerUi(trigInfo As TrigActInfo) As String Parameters Type Name Description TrigActInfo trigInfo The trigger to display as defined by TrigActInfo Returns Type Description System.String HTML to display on the event page for the specified trigger View Source OnUpdateTriggerConfig(Dictionary<String, String>, TrigActInfo) Called by HomeSeer when a user updates the configuration of a trigger and those changes are in need of processing. Declaration C# Visual Basic public EventUpdateReturnData OnUpdateTriggerConfig(Dictionary<string, string> postData, TrigActInfo trigInfo) Public Function OnUpdateTriggerConfig(postData As Dictionary(Of String, String), trigInfo As TrigActInfo) As EventUpdateReturnData Parameters Type Name Description System.Collections.Generic.Dictionary < System.String , System.String > postData A System.Collections.Generic.Dictionary<TKey, TValue> of changes to the trigger configuration TrigActInfo trigInfo The trigger being configured Returns Type Description EventUpdateReturnData An EventUpdateReturnData describing the new state of the trigger that will be saved by HomeSeer. The trigger configuration will be saved if the result returned is an empty string. View Source TriggerCanBeCondition(Int32) Called by HomeSeer to determine if a particular trigger can be used as a condition or not. A condition is a trigger that operates in conjunction with another trigger in an AND/OR pattern. Declaration C# Visual Basic public bool TriggerCanBeCondition(int triggerIndex) Public Function TriggerCanBeCondition(triggerIndex As Integer) As Boolean Parameters Type Name Description System.Int32 triggerIndex The 1 based index of the trigger type to check Returns Type Description System.Boolean TRUE if the trigger can be used as a condition, FALSE if it can not. View Source TriggerReferencesDeviceOrFeature(Int32, TrigActInfo) Called by HomeSeer when it needs to determine if a specific device/feature is referenced by a particular trigger. Declaration C# Visual Basic public bool TriggerReferencesDeviceOrFeature(int devOrFeatRef, TrigActInfo trigInfo) Public Function TriggerReferencesDeviceOrFeature(devOrFeatRef As Integer, trigInfo As TrigActInfo) As Boolean Parameters Type Name Description System.Int32 devOrFeatRef The unique Ref of the device/feature TrigActInfo trigInfo The trigger to check Returns Type Description System.Boolean TRUE if the trigger references the specified device/feature, FALSE if it does not."
},
"api/HomeSeer.PluginSdk.Events.TriggerTypeCollection.ITriggerTypeListener.html": {
"href": "api/HomeSeer.PluginSdk.Events.TriggerTypeCollection.ITriggerTypeListener.html",
"title": "Interface TriggerTypeCollection.ITriggerTypeListener | HomeSeer PluginSdk Docs",
"keywords": "Interface TriggerTypeCollection.ITriggerTypeListener C# Visual Basic public interface ITriggerTypeListener Public Interface ITriggerTypeListener Namespace : HomeSeer.PluginSdk.Events Assembly : PluginSdk.dll The base implementation of a trigger type interface that facilitates communication between AbstractTriggerType s and the AbstractPlugin that owns them. Extend this interface and have your AbstractPlugin implementation inherit it to make it accessible through the TriggerListener field."
},
"api/HomeSeer.PluginSdk.Features.AbstractFeaturePage.html": {
"href": "api/HomeSeer.PluginSdk.Features.AbstractFeaturePage.html",
"title": "Class AbstractFeaturePage | HomeSeer PluginSdk Docs",
"keywords": "Class AbstractFeaturePage C# Visual Basic public abstract class AbstractFeaturePage : IFeaturePage Public MustInherit Class AbstractFeaturePage Implements IFeaturePage Inheritance System.Object AbstractFeaturePage Implements IFeaturePage Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features Assembly : PluginSdk.dll An abstract implementation of the IFeaturePage interface establishing a basic structure to build a feature page from. Basic Usage The AbstractFeaturePage is a simple implementation for a feature page that accepts POST data as a serialized JsonRequest and responds with JsonRsponse . Define a class in your plugin that inherits from AbstractFeaturePage and implements the required members AbstractFeaturePage.Title AbstractFeaturePage.FileName public class MyFeaturePage : AbstractFeaturePage { public override string Title { get; set; } = \"My Feature Page\"; public override string FileName { get; set; } = \"feature-page.html\"; } In the constructor for your class, call AbstractFeaturePage.RegisterRequestCallback() for each JsonRequest.Request keyword you want to listen for. public class MyFeaturePage : AbstractFeaturePage { private const string LoadPageKey = \"load-page\"; public override string Title { get; set; } = \"My Feature Page\"; public override string FileName { get; set; } = \"feature-page.html\"; public MyFeaturePage() { RegisterRequestCallback(LoadPageKey, LoadPage); } private JsonResponse LoadPage(JsonRequest request) { try { return new JsonResponse(request, \"page loaded successfully\"); } catch (Exception exception) { exception.Log(); throw; } } } See PageActionResponse for default actions that you can execute through JavaScript from your plugin application. Constructors View Source AbstractFeaturePage() Create a new instance of an AbstractFeaturePage . Register the IsAlive(JsonRequest) method for feature page access validation. Declaration C# Visual Basic protected AbstractFeaturePage() Protected Sub New Fields View Source RequestKeyIsAlive Declaration C# Visual Basic const string RequestKeyIsAlive = \"isalive\" Const RequestKeyIsAlive As String = \"isalive\" Field Value Type Description System.String Properties View Source FileName The name of the HTML file that backs this feature page. Ex \"my-feature.html\" Declaration C# Visual Basic public abstract string FileName { get; set; } Public MustOverride Property FileName As String Property Value Type Description System.String View Source RequestMap A map of keys and methods used as callbacks for requests that match their key. Use RegisterRequestCallback(String, Func<JsonRequest, JsonResponse>) and UnregisterRequestCallback(String) . Declaration C# Visual Basic protected Dictionary<string, Func<JsonRequest, JsonResponse>> RequestMap { get; set; } Protected Property RequestMap As Dictionary(Of String, Func(Of JsonRequest, JsonResponse)) Property Value Type Description System.Collections.Generic.Dictionary < System.String , System.Func < JsonRequest , JsonResponse >> View Source Title The title of the page. Displayed in the plugin menu and by the browser client. Declaration C# Visual Basic public abstract string Title { get; set; } Public MustOverride Property Title As String Property Value Type Description System.String Methods View Source GetHtmlFragment(String) Get a fragment of HTML attached to a particular ID. Declaration C# Visual Basic public virtual string GetHtmlFragment(string fragmentId) Public Overridable Function GetHtmlFragment(fragmentId As String) As String Parameters Type Name Description System.String fragmentId The ID of the fragment to get Returns Type Description System.String A fragment of HTML Remarks Used by Scriban. View Source IsAlive(JsonRequest) A sample callback method that can be used to validate that a page is up and responding to POSTs Declaration C# Visual Basic JsonResponse IsAlive(JsonRequest request) Function IsAlive(request As JsonRequest) As JsonResponse Parameters Type Name Description JsonRequest request The request data submitted in the POST Returns Type Description JsonResponse Response message of \"Title is alive\" View Source PostBackProc(String, String, Int32) Respond to an HTTP POST directed at this page. Declaration C# Visual Basic public virtual string PostBackProc(string data, string user, int userRights) Public Overridable Function PostBackProc(data As String, user As String, userRights As Integer) As String Parameters Type Name Description System.String data The body of data attached to the POST System.String user System.Int32 userRights Returns Type Description System.String The data to return as a string. Use JSON. View Source RegisterRequestCallback(String, Func<JsonRequest, JsonResponse>) Register a callback method to be invoked when a POST request is submitted using a specific key. Declaration C# Visual Basic protected void RegisterRequestCallback(string requestKey, Func<JsonRequest, JsonResponse> callback) Protected Sub RegisterRequestCallback(requestKey As String, callback As Func(Of JsonRequest, JsonResponse)) Parameters Type Name Description System.String requestKey The key to match the callback method to System.Func < JsonRequest , JsonResponse > callback A method that takes a JsonRequest as a single parameter and returns a JsonResponse Remarks Calling this successive times with the same key will replace any existing callback method tied to that key. View Source UnregisterRequestCallback(String) Unregister an existing callback method so it will not longer be executed when a request is submitted using a particular key. Declaration C# Visual Basic protected void UnregisterRequestCallback(string requestKey) Protected Sub UnregisterRequestCallback(requestKey As String) Parameters Type Name Description System.String requestKey The key to stop responding to Implements IFeaturePage"
},
"api/HomeSeer.PluginSdk.Features.GenericJsonData.html": {
"href": "api/HomeSeer.PluginSdk.Features.GenericJsonData.html",
"title": "Class GenericJsonData | HomeSeer PluginSdk Docs",
"keywords": "Class GenericJsonData C# Visual Basic [Serializable] [JsonObject] public class GenericJsonData <Serializable> <JsonObject> Public Class GenericJsonData Inheritance System.Object GenericJsonData JsonRequest Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features Assembly : PluginSdk.dll Generic data collection used as a JSON object. Takes the form of {\"data\":{}}. See JsonRequest , JsonResponse , and JsonError for basic implementation Constructors View Source GenericJsonData() Create a new GenericJsonData object Declaration C# Visual Basic [JsonConstructor] public GenericJsonData() <JsonConstructor> Public Sub New View Source GenericJsonData(Dictionary<String, String>) Create a new GenericJsonData object with data Declaration C# Visual Basic public GenericJsonData(Dictionary<string, string> data) Public Sub New(data As Dictionary(Of String, String)) Parameters Type Name Description System.Collections.Generic.Dictionary < System.String , System.String > data Properties View Source Data A collection of data keys and values Declaration C# Visual Basic [JsonProperty(\"data\")] public Dictionary<string, string> Data { get; set; } <JsonProperty(\"data\")> Public Property Data As Dictionary(Of String, String) Property Value Type Description System.Collections.Generic.Dictionary < System.String , System.String > Methods View Source Clear() Remove all data from the collection Declaration C# Visual Basic public void Clear() Public Sub Clear View Source Contains(String) Determine if a key exists in the data collection Declaration C# Visual Basic public bool Contains(string key) Public Function Contains(key As String) As Boolean Parameters Type Name Description System.String key The key to look for Returns Type Description System.Boolean TRUE if the key exists in the collection, FALSE if it does not View Source FromJson(String) Deserialize a GenericJsonData object from JSON Declaration C# Visual Basic public static GenericJsonData FromJson(string json) Public Shared Function FromJson(json As String) As GenericJsonData Parameters Type Name Description System.String json JSON string containing a serialized GenericJsonData Returns Type Description GenericJsonData A GenericJsonData object View Source Get(String) Get the data value for a key Declaration C# Visual Basic public string Get(string key) Public Function Get(key As String) As String Parameters Type Name Description System.String key The key for the data to get Returns Type Description System.String The data value corresponding to the key View Source Put(String, String) Put a value in the data collection Declaration C# Visual Basic public void Put(string key, string value) Public Sub Put(key As String, value As String) Parameters Type Name Description System.String key The key to map the data with System.String value The data value to save View Source Remove(String) Remove the value associated with a key from the data Declaration C# Visual Basic public void Remove(string key) Public Sub Remove(key As String) Parameters Type Name Description System.String key The key to remove from the data View Source ToJson() Serialize the data to a JSON string Declaration C# Visual Basic public string ToJson() Public Function ToJson As String Returns Type Description System.String A JSON string"
},
"api/HomeSeer.PluginSdk.Features.html": {
"href": "api/HomeSeer.PluginSdk.Features.html",
"title": "Namespace HomeSeer.PluginSdk.Features | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk.Features Classes AbstractFeaturePage An abstract implementation of the IFeaturePage interface establishing a basic structure to build a feature page from. GenericJsonData Generic data collection used as a JSON object. Takes the form of {\"data\":{}}. See JsonRequest , JsonResponse , and JsonError for basic implementation JsonRequest A POST request with JSON data from a web client to a feature page as a collection of key-value pairs Use JSON stringify to build a request in JavaScript: JSON.stringify({ data: {\"request\" : \"load-page\", \"key\" : \"value\"} }); Interfaces IFeaturePage The base implementation of a feature page in HS4."
},
"api/HomeSeer.PluginSdk.Features.IFeaturePage.html": {
"href": "api/HomeSeer.PluginSdk.Features.IFeaturePage.html",
"title": "Interface IFeaturePage | HomeSeer PluginSdk Docs",
"keywords": "Interface IFeaturePage C# Visual Basic public interface IFeaturePage Public Interface IFeaturePage Namespace : HomeSeer.PluginSdk.Features Assembly : PluginSdk.dll The base implementation of a feature page in HS4. Properties View Source FileName The name of the HTML file that backs this feature page. Ex \"my-feature.html\" Declaration C# Visual Basic string FileName { get; set; } Property FileName As String Property Value Type Description System.String View Source Title The title of the page. Displayed in the plugin menu and by the browser client. Declaration C# Visual Basic string Title { get; set; } Property Title As String Property Value Type Description System.String Methods View Source GetHtmlFragment(String) Get a fragment of HTML attached to a particular ID. Declaration C# Visual Basic string GetHtmlFragment(string fragmentId) Function GetHtmlFragment(fragmentId As String) As String Parameters Type Name Description System.String fragmentId The ID of the fragment to get Returns Type Description System.String A fragment of HTML Remarks Used by Scriban. View Source PostBackProc(String, String, Int32) Respond to an HTTP POST directed at this page. Declaration C# Visual Basic string PostBackProc(string data, string user, int userRights) Function PostBackProc(data As String, user As String, userRights As Integer) As String Parameters Type Name Description System.String data The body of data attached to the POST System.String user System.Int32 userRights Returns Type Description System.String The data to return as a string. Use JSON."
},
"api/HomeSeer.PluginSdk.Features.JsonRequest.html": {
"href": "api/HomeSeer.PluginSdk.Features.JsonRequest.html",
"title": "Class JsonRequest | HomeSeer PluginSdk Docs",
"keywords": "Class JsonRequest C# Visual Basic [JsonObject] public class JsonRequest : GenericJsonData <JsonObject> Public Class JsonRequest Inherits GenericJsonData Inheritance System.Object GenericJsonData JsonRequest JsonResponse Inherited Members GenericJsonData.Data GenericJsonData.FromJson(String) GenericJsonData.Contains(String) GenericJsonData.Get(String) GenericJsonData.Put(String, String) GenericJsonData.Remove(String) GenericJsonData.Clear() GenericJsonData.ToJson() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features Assembly : PluginSdk.dll A POST request with JSON data from a web client to a feature page as a collection of key-value pairs Use JSON stringify to build a request in JavaScript: JSON.stringify({ data: {\"request\" : \"load-page\", \"key\" : \"value\"} }); Remarks A default handler is provided for you in the FeaturePagePost.js page. Include that file with your plugin's feature pages and customize it as needed. A shared version will be implemented in a future release. Constructors View Source JsonRequest() Create a new, empty JsonRequest Declaration C# Visual Basic [JsonConstructor] public JsonRequest() <JsonConstructor> Public Sub New View Source JsonRequest(GenericJsonData) Create a new JsonRequest using a set of Json data Declaration C# Visual Basic public JsonRequest(GenericJsonData genericJsonData) Public Sub New(genericJsonData As GenericJsonData) Parameters Type Name Description GenericJsonData genericJsonData The GenericJsonData that describes the request Exceptions Type Condition System.ArgumentNullException Thrown when no data is provided System.Collections.Generic.KeyNotFoundException Thrown when no Request type is defined in the data Fields View Source RequestKey Key that identifies the type request being made Declaration C# Visual Basic protected const string RequestKey = \"request\" Protected Const RequestKey As String = \"request\" Field Value Type Description System.String Properties View Source Request The type of request being made Declaration C# Visual Basic [JsonIgnore] public string Request { get; set; } <JsonIgnore> Public Property Request As String Property Value Type Description System.String"
},
"api/HomeSeer.PluginSdk.Features.Responses.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.html",
"title": "Namespace HomeSeer.PluginSdk.Features.Responses | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk.Features.Responses Classes JsonError A POST error response for a feature page as a collection of key-value pairs JsonResponse A POST response with JSON data for a feature page as a collection of key-value pairs"
},
"api/HomeSeer.PluginSdk.Features.Responses.JsonError.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.JsonError.html",
"title": "Class JsonError | HomeSeer PluginSdk Docs",
"keywords": "Class JsonError C# Visual Basic [JsonObject] public class JsonError : JsonResponse <JsonObject> Public Class JsonError Inherits JsonResponse Inheritance System.Object GenericJsonData JsonRequest JsonResponse JsonError Inherited Members JsonResponse.ResponseKey JsonResponse.Response JsonRequest.RequestKey JsonRequest.Request GenericJsonData.Data GenericJsonData.FromJson(String) GenericJsonData.Contains(String) GenericJsonData.Get(String) GenericJsonData.Put(String, String) GenericJsonData.Remove(String) GenericJsonData.Clear() GenericJsonData.ToJson() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses Assembly : PluginSdk.dll A POST error response for a feature page as a collection of key-value pairs Remarks A default handler is provided for you in the FeaturePagePost.js page. Include that file with your plugin's feature pages and customize it as needed. A shared version will be implemented in a future release. Constructors View Source JsonError() Create a new, empty JsonError Declaration C# Visual Basic [JsonConstructor] public JsonError() <JsonConstructor> Public Sub New View Source JsonError(GenericJsonData) Create a new JsonError using a set of data Declaration C# Visual Basic public JsonError(GenericJsonData genericJsonData) Public Sub New(genericJsonData As GenericJsonData) Parameters Type Name Description GenericJsonData genericJsonData The GenericJsonData that describes the error Exceptions Type Condition System.ArgumentNullException Thrown when no data is provided System.Collections.Generic.KeyNotFoundException Thrown when no Error message is defined in the data View Source JsonError(JsonRequest, String) Create a new JsonError with a specific message Declaration C# Visual Basic public JsonError(JsonRequest request, string errorMessage) Public Sub New(request As JsonRequest, errorMessage As String) Parameters Type Name Description JsonRequest request The JsonRequest to base this response on System.String errorMessage The error message Exceptions Type Condition System.ArgumentNullException Thrown if no error message is provided Fields View Source ErrorKey Key that identifies the error message data Declaration C# Visual Basic protected const string ErrorKey = \"error\" Protected Const ErrorKey As String = \"error\" Field Value Type Description System.String Properties View Source Error The error message associated with this response Declaration C# Visual Basic [JsonIgnore] public string Error { get; set; } <JsonIgnore> Public Property Error As String Property Value Type Description System.String Methods View Source CreateJson(String) Generate the JSON necessary to describe a JsonError based on a specified message Declaration C# Visual Basic public static string CreateJson(string message) Public Shared Function CreateJson(message As String) As String Parameters Type Name Description System.String message The error message Returns Type Description System.String A string of JSON describing a JsonError"
},
"api/HomeSeer.PluginSdk.Features.Responses.JsonResponse.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.JsonResponse.html",
"title": "Class JsonResponse | HomeSeer PluginSdk Docs",
"keywords": "Class JsonResponse C# Visual Basic [JsonObject] public class JsonResponse : JsonRequest <JsonObject> Public Class JsonResponse Inherits JsonRequest Inheritance System.Object GenericJsonData JsonRequest JsonResponse JsonError PageActionResponse Inherited Members JsonRequest.RequestKey JsonRequest.Request GenericJsonData.Data GenericJsonData.FromJson(String) GenericJsonData.Contains(String) GenericJsonData.Get(String) GenericJsonData.Put(String, String) GenericJsonData.Remove(String) GenericJsonData.Clear() GenericJsonData.ToJson() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses Assembly : PluginSdk.dll A POST response with JSON data for a feature page as a collection of key-value pairs Remarks A default handler is provided for you in the FeaturePagePost.js page. Include that file with your plugin's feature pages and customize it as needed. A shared version will be implemented in a future release. Constructors View Source JsonResponse() Create a new, empty JsonResponse Declaration C# Visual Basic [JsonConstructor] public JsonResponse() <JsonConstructor> Public Sub New View Source JsonResponse(GenericJsonData) Create a new JsonResponse using a set of JSON data Declaration C# Visual Basic public JsonResponse(GenericJsonData genericJsonData) Public Sub New(genericJsonData As GenericJsonData) Parameters Type Name Description GenericJsonData genericJsonData The GenericJsonData that describes the response Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown if no Response type is defined in the data View Source JsonResponse(JsonRequest, String) Create a new JsonResponse based on a JsonRequest Declaration C# Visual Basic public JsonResponse(JsonRequest request, string response) Public Sub New(request As JsonRequest, response As String) Parameters Type Name Description JsonRequest request The JsonRequest to base this response on System.String response The type of response Fields View Source ResponseKey Key that identifies the type of response Declaration C# Visual Basic protected const string ResponseKey = \"response\" Protected Const ResponseKey As String = \"response\" Field Value Type Description System.String Properties View Source Response The type of the response. This determines the behavior of the client. Declaration C# Visual Basic [JsonIgnore] public string Response { get; set; } <JsonIgnore> Public Property Response As String Property Value Type Description System.String"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.CallbackPageAction.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.CallbackPageAction.html",
"title": "Class CallbackPageAction | HomeSeer PluginSdk Docs",
"keywords": "Class CallbackPageAction C# Visual Basic [JsonObject] public class CallbackPageAction : FeaturePageAction <JsonObject> Public Class CallbackPageAction Inherits FeaturePageAction Inheritance System.Object FeaturePageAction CallbackPageAction Inherited Members FeaturePageAction.PageAction FeaturePageAction.Selector FeaturePageAction.Data System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll A FeaturePageAction used to instruct the client to callback to the plugin after waiting a specified amount of time Remarks Uses the setTimeout() method to schedule a call to the featurePagePost JS method after a specified amount of time. The javascript that handles this is not included in the FeaturePagePost.js file by default and must be included manually. Add the following to the end of the switch statement in the onFeaturePagePostSuccess, replacing PUTCALLBACKURLHERE with the URL for your page: case \"callback\": setTimeout(function() {featurePagePost(pageAction.data, PUTCALLBACKURLHERE)}, pageAction.selector); break; Constructors View Source CallbackPageAction() Create a new FeaturePageAction with the Callback action type Declaration C# Visual Basic [JsonConstructor] public CallbackPageAction() <JsonConstructor> Public Sub New View Source CallbackPageAction(String, Int32) Create a new instance of a FeaturePageAction with the Callback action type that will send the specified data blob after waiting the specified amount of time Declaration C# Visual Basic public CallbackPageAction(string data, int timeout) Public Sub New(data As String, timeout As Integer) Parameters Type Name Description System.String data The data to include in the next request System.Int32 timeout The amount of time to wait, in millisecond, before making the callback request"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.EPageAction.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.EPageAction.html",
"title": "Enum EPageAction | HomeSeer PluginSdk Docs",
"keywords": "Enum EPageAction C# Visual Basic public enum EPageAction Public Enum EPageAction Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll A type of action that can be taken on a feature page using a FeaturePageAction Fields Name Description Callback Callback to the plugin after waiting an amount of time Hide Hide an element NextStep Go to the next step on an mdbootstrap stepper PreviousStep Go to the previous step on an mdbootstrap stepper SetHtml Set the HTML content of an element SetStep Set the current step on an mdboostrap stepper SetText Set the text on an element SetValue Set the value of an element Show Show an element. Extension Methods PageActionExtensions.GetKey()"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.FeaturePageAction.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.FeaturePageAction.html",
"title": "Class FeaturePageAction | HomeSeer PluginSdk Docs",
"keywords": "Class FeaturePageAction C# Visual Basic [JsonObject] public class FeaturePageAction <JsonObject> Public Class FeaturePageAction Inheritance System.Object FeaturePageAction CallbackPageAction HidePageAction NextStepPageAction PreviousStepPageAction SetHtmlPageAction SetStepPageAction SetTextPageAction SetValuePageAction ShowPageAction Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll An action to be executed on a feature page using javascript Constructors View Source FeaturePageAction() Create a new, empty FeaturePageAction Declaration C# Visual Basic [JsonConstructor] public FeaturePageAction() <JsonConstructor> Public Sub New View Source FeaturePageAction(String, String, String) Create a new FeaturePageAction Declaration C# Visual Basic public FeaturePageAction(string pageAction, string selector, string data = null) Public Sub New(pageAction As String, selector As String, data As String = Nothing) Parameters Type Name Description System.String pageAction The key for the action to take. See EPageAction System.String selector The JQuery Selector to use System.String data Data to include with the action. See documentation on each action for more info. Properties View Source Data Additional data associated with the action Declaration C# Visual Basic [JsonProperty(\"data\")] public string Data { get; set; } <JsonProperty(\"data\")> Public Property Data As String Property Value Type Description System.String View Source PageAction The page action to take. See EPageAction for acceptable keys Declaration C# Visual Basic [JsonProperty(\"page_action\")] public string PageAction { get; set; } <JsonProperty(\"page_action\")> Public Property PageAction As String Property Value Type Description System.String View Source Selector The JQuery selector to use when performing the action Declaration C# Visual Basic [JsonProperty(\"selector\")] public string Selector { get; set; } <JsonProperty(\"selector\")> Public Property Selector As String Property Value Type Description System.String See Also PageActionResponse"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.HidePageAction.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.HidePageAction.html",
"title": "Class HidePageAction | HomeSeer PluginSdk Docs",
"keywords": "Class HidePageAction C# Visual Basic [JsonObject] public class HidePageAction : FeaturePageAction <JsonObject> Public Class HidePageAction Inherits FeaturePageAction Inheritance System.Object FeaturePageAction HidePageAction Inherited Members FeaturePageAction.PageAction FeaturePageAction.Selector FeaturePageAction.Data System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll A FeaturePageAction used to instruct the client to HIDE a specific HTML element Remarks Uses the jQuery hide() method Constructors View Source HidePageAction() Create a new FeaturePageAction with the Hide action type Declaration C# Visual Basic [JsonConstructor] public HidePageAction() <JsonConstructor> Public Sub New View Source HidePageAction(String) Create new FeaturePageAction with the Hide action type using a specific JQuery selector Declaration C# Visual Basic public HidePageAction(string selector) Public Sub New(selector As String) Parameters Type Name Description System.String selector The JQuery selector to use Exceptions Type Condition System.ArgumentNullException Thrown if no selector is specified"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.html",
"title": "Namespace HomeSeer.PluginSdk.Features.Responses.PageActions | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk.Features.Responses.PageActions Classes CallbackPageAction A FeaturePageAction used to instruct the client to callback to the plugin after waiting a specified amount of time FeaturePageAction An action to be executed on a feature page using javascript HidePageAction A FeaturePageAction used to instruct the client to HIDE a specific HTML element NextStepPageAction A FeaturePageAction used to instruct the client to proceed to the next stepper step PageActionExtensions Extension methods for members of the HomeSeer.PluginSdk.Features.Responses.PageActions namespace PageActionResponse A POST response with JSON data for a feature page as a collection of key-value pairs that describes a series of actions that will be executed by JavaScript PreviousStepPageAction A FeaturePageAction used to instruct the client to return to the previous stepper step SetHtmlPageAction A FeaturePageAction used to instruct the client to set the HTML for an HTML element SetStepPageAction A FeaturePageAction used to instruct the client to go to a particular stepper step SetTextPageAction A FeaturePageAction used to instruct the client to set the text for an HTML element SetValuePageAction A FeaturePageAction used to instruct the client to set the value for an HTML element ShowPageAction A FeaturePageAction used to instruct the client to show a specific HTML element Enums EPageAction A type of action that can be taken on a feature page using a FeaturePageAction"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.NextStepPageAction.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.NextStepPageAction.html",
"title": "Class NextStepPageAction | HomeSeer PluginSdk Docs",
"keywords": "Class NextStepPageAction C# Visual Basic [JsonObject] public class NextStepPageAction : FeaturePageAction <JsonObject> Public Class NextStepPageAction Inherits FeaturePageAction Inheritance System.Object FeaturePageAction NextStepPageAction Inherited Members FeaturePageAction.PageAction FeaturePageAction.Selector FeaturePageAction.Data System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll A FeaturePageAction used to instruct the client to proceed to the next stepper step Remarks Uses the mdbootstrap stepper nextStep() method Constructors View Source NextStepPageAction() Create a new FeaturePageAction with the NextStep action type Declaration C# Visual Basic [JsonConstructor] public NextStepPageAction() <JsonConstructor> Public Sub New View Source NextStepPageAction(String) Create new FeaturePageAction with the NextStep action type using a specific JQuery selector Declaration C# Visual Basic public NextStepPageAction(string selector) Public Sub New(selector As String) Parameters Type Name Description System.String selector The JQuery selector to use Exceptions Type Condition System.ArgumentNullException Thrown if no selector is specified"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.PageActionExtensions.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.PageActionExtensions.html",
"title": "Class PageActionExtensions | HomeSeer PluginSdk Docs",
"keywords": "Class PageActionExtensions C# Visual Basic public static class PageActionExtensions Public Module PageActionExtensions Inheritance System.Object PageActionExtensions Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll Extension methods for members of the HomeSeer.PluginSdk.Features.Responses.PageActions namespace Methods View Source GetKey(EPageAction) Get the page action key associated with a particular EPageAction Declaration C# Visual Basic public static string GetKey(this EPageAction pageAction) <ExtensionAttribute> Public Shared Function GetKey(pageAction As EPageAction) As String Parameters Type Name Description EPageAction pageAction The EPageAction to get the key for Returns Type Description System.String The key string used on feature page javascript for the specified EPageAction Exceptions Type Condition System.ArgumentOutOfRangeException Thrown when an invalid EPageAction is specified"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.PageActionResponse.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.PageActionResponse.html",
"title": "Class PageActionResponse | HomeSeer PluginSdk Docs",
"keywords": "Class PageActionResponse C# Visual Basic [JsonObject] public class PageActionResponse : JsonResponse <JsonObject> Public Class PageActionResponse Inherits JsonResponse Inheritance System.Object GenericJsonData JsonRequest JsonResponse PageActionResponse Inherited Members JsonResponse.ResponseKey JsonResponse.Response JsonRequest.RequestKey JsonRequest.Request GenericJsonData.Data GenericJsonData.FromJson(String) GenericJsonData.Contains(String) GenericJsonData.Get(String) GenericJsonData.Put(String, String) GenericJsonData.Remove(String) GenericJsonData.Clear() GenericJsonData.ToJson() System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll A POST response with JSON data for a feature page as a collection of key-value pairs that describes a series of actions that will be executed by JavaScript Constructors View Source PageActionResponse() Create a new, empty PageActionReponse Declaration C# Visual Basic [JsonConstructor] public PageActionResponse() <JsonConstructor> Public Sub New View Source PageActionResponse(JsonRequest) Create a new PageActionResponse based on a received JsonRequest Declaration C# Visual Basic public PageActionResponse(JsonRequest request) Public Sub New(request As JsonRequest) Parameters Type Name Description JsonRequest request Fields View Source PageActionsKey The key for the collection of actions to execute Declaration C# Visual Basic protected const string PageActionsKey = \"page_actions\" Protected Const PageActionsKey As String = \"page_actions\" Field Value Type Description System.String Properties View Source PageActions A collection of PageActions to execute on the Feature Page Declaration C# Visual Basic [JsonIgnore] public List<FeaturePageAction> PageActions { get; set; } <JsonIgnore> Public Property PageActions As List(Of FeaturePageAction) Property Value Type Description System.Collections.Generic.List < FeaturePageAction >"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.PreviousStepPageAction.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.PreviousStepPageAction.html",
"title": "Class PreviousStepPageAction | HomeSeer PluginSdk Docs",
"keywords": "Class PreviousStepPageAction C# Visual Basic [JsonObject] public class PreviousStepPageAction : FeaturePageAction <JsonObject> Public Class PreviousStepPageAction Inherits FeaturePageAction Inheritance System.Object FeaturePageAction PreviousStepPageAction Inherited Members FeaturePageAction.PageAction FeaturePageAction.Selector FeaturePageAction.Data System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll A FeaturePageAction used to instruct the client to return to the previous stepper step Remarks Uses the mdbootstrap stepper prevStep() method Constructors View Source PreviousStepPageAction() Create a new FeaturePageAction with the PreviousStep action type Declaration C# Visual Basic [JsonConstructor] public PreviousStepPageAction() <JsonConstructor> Public Sub New View Source PreviousStepPageAction(String) Create new FeaturePageAction with the PreviousStep action type using a specific JQuery selector Declaration C# Visual Basic public PreviousStepPageAction(string selector) Public Sub New(selector As String) Parameters Type Name Description System.String selector The JQuery selector to use Exceptions Type Condition System.ArgumentNullException Thrown if no selector is specified"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.SetHtmlPageAction.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.SetHtmlPageAction.html",
"title": "Class SetHtmlPageAction | HomeSeer PluginSdk Docs",
"keywords": "Class SetHtmlPageAction C# Visual Basic [JsonObject] public class SetHtmlPageAction : FeaturePageAction <JsonObject> Public Class SetHtmlPageAction Inherits FeaturePageAction Inheritance System.Object FeaturePageAction SetHtmlPageAction Inherited Members FeaturePageAction.PageAction FeaturePageAction.Selector FeaturePageAction.Data System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll A FeaturePageAction used to instruct the client to set the HTML for an HTML element Remarks Uses the jQuery html() method Constructors View Source SetHtmlPageAction() Create a new FeaturePageAction with the SetHtml action type Declaration C# Visual Basic [JsonConstructor] public SetHtmlPageAction() <JsonConstructor> Public Sub New View Source SetHtmlPageAction(String, String) Create new FeaturePageAction with the SetHtml action type using a specific JQuery selector Declaration C# Visual Basic public SetHtmlPageAction(string selector, string html) Public Sub New(selector As String, html As String) Parameters Type Name Description System.String selector The JQuery selector to use System.String html The html to set on the element Exceptions Type Condition System.ArgumentNullException Thrown if no selector is specified"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.SetStepPageAction.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.SetStepPageAction.html",
"title": "Class SetStepPageAction | HomeSeer PluginSdk Docs",
"keywords": "Class SetStepPageAction C# Visual Basic [JsonObject] public class SetStepPageAction : FeaturePageAction <JsonObject> Public Class SetStepPageAction Inherits FeaturePageAction Inheritance System.Object FeaturePageAction SetStepPageAction Inherited Members FeaturePageAction.PageAction FeaturePageAction.Selector FeaturePageAction.Data System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll A FeaturePageAction used to instruct the client to go to a particular stepper step Remarks Uses the mdbootstrap stepper setStep() method Constructors View Source SetStepPageAction() Create a new FeaturePageAction with the SetStep action type Declaration C# Visual Basic [JsonConstructor] public SetStepPageAction() <JsonConstructor> Public Sub New View Source SetStepPageAction(String) Create new FeaturePageAction with the SetStep action type using a specific JQuery selector Declaration C# Visual Basic public SetStepPageAction(string selector) Public Sub New(selector As String) Parameters Type Name Description System.String selector The JQuery selector to use Exceptions Type Condition System.ArgumentNullException Thrown if no selector is specified"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.SetTextPageAction.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.SetTextPageAction.html",
"title": "Class SetTextPageAction | HomeSeer PluginSdk Docs",
"keywords": "Class SetTextPageAction C# Visual Basic [JsonObject] public class SetTextPageAction : FeaturePageAction <JsonObject> Public Class SetTextPageAction Inherits FeaturePageAction Inheritance System.Object FeaturePageAction SetTextPageAction Inherited Members FeaturePageAction.PageAction FeaturePageAction.Selector FeaturePageAction.Data System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll A FeaturePageAction used to instruct the client to set the text for an HTML element Remarks Uses the jQuery text() method Constructors View Source SetTextPageAction() Create a new FeaturePageAction with the SetText action type Declaration C# Visual Basic [JsonConstructor] public SetTextPageAction() <JsonConstructor> Public Sub New View Source SetTextPageAction(String, String) Create new FeaturePageAction with the SetText action type using a specific JQuery selector Declaration C# Visual Basic public SetTextPageAction(string selector, string text) Public Sub New(selector As String, text As String) Parameters Type Name Description System.String selector The JQuery selector to use System.String text The text to set on the element Exceptions Type Condition System.ArgumentNullException Thrown if no selector is specified"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.SetValuePageAction.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.SetValuePageAction.html",
"title": "Class SetValuePageAction | HomeSeer PluginSdk Docs",
"keywords": "Class SetValuePageAction C# Visual Basic [JsonObject] public class SetValuePageAction : FeaturePageAction <JsonObject> Public Class SetValuePageAction Inherits FeaturePageAction Inheritance System.Object FeaturePageAction SetValuePageAction Inherited Members FeaturePageAction.PageAction FeaturePageAction.Selector FeaturePageAction.Data System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll A FeaturePageAction used to instruct the client to set the value for an HTML element Remarks Uses the jQuery val() method Constructors View Source SetValuePageAction() Create a new FeaturePageAction with the SetValue action type Declaration C# Visual Basic [JsonConstructor] public SetValuePageAction() <JsonConstructor> Public Sub New View Source SetValuePageAction(String, String) Create new FeaturePageAction with the SetValue action type using a specific JQuery selector Declaration C# Visual Basic public SetValuePageAction(string selector, string value) Public Sub New(selector As String, value As String) Parameters Type Name Description System.String selector The JQuery selector to use System.String value The value to set on the element Exceptions Type Condition System.ArgumentNullException Thrown if no selector is specified"
},
"api/HomeSeer.PluginSdk.Features.Responses.PageActions.ShowPageAction.html": {
"href": "api/HomeSeer.PluginSdk.Features.Responses.PageActions.ShowPageAction.html",
"title": "Class ShowPageAction | HomeSeer PluginSdk Docs",
"keywords": "Class ShowPageAction C# Visual Basic [JsonObject] public class ShowPageAction : FeaturePageAction <JsonObject> Public Class ShowPageAction Inherits FeaturePageAction Inheritance System.Object FeaturePageAction ShowPageAction Inherited Members FeaturePageAction.PageAction FeaturePageAction.Selector FeaturePageAction.Data System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Features.Responses.PageActions Assembly : PluginSdk.dll A FeaturePageAction used to instruct the client to show a specific HTML element Remarks Uses the jQuery show() method Constructors View Source ShowPageAction() Create a new FeaturePageAction with the Show action type Declaration C# Visual Basic [JsonConstructor] public ShowPageAction() <JsonConstructor> Public Sub New View Source ShowPageAction(String) Create new FeaturePageAction with the Show action type using a specific JQuery selector Declaration C# Visual Basic public ShowPageAction(string selector) Public Sub New(selector As String) Parameters Type Name Description System.String selector The JQuery selector to use Exceptions Type Condition System.ArgumentNullException Thrown if no selector is specified"
},
"api/HomeSeer.PluginSdk.html": {
"href": "api/HomeSeer.PluginSdk.html",
"title": "Namespace HomeSeer.PluginSdk | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk Classes AbstractPlugin The base implementation of the IPlugin interface. It includes default implementations for most of the IPlugin members and wraps others with convenience methods and objects that make it simpler to interface with the HomeSeer system. Once the containing plugin application is started, initiate a connection to the HomeSeer system by calling Connect(String[]) . All plugins (the HSPI class) should derive from this class. PluginStatus Represents the current operational state of a HomeSeer plugin. Interfaces IHsController The interface used by plugins to communicate with the HomeSeer software An instance of this interface is automatically provided to an AbstractPlugin when AbstractPlugin.Connect(string[]) is called. IPlugin The core plugin interface used by HomeSeer to interact with third-party plugins. The AbstractPlugin class provides a default implementation of this interface that should be used to develop plugins. Enums PluginStatus.EPluginStatus An Enum representing the current state of a plugin"
},
"api/HomeSeer.PluginSdk.IHsController.html": {
"href": "api/HomeSeer.PluginSdk.IHsController.html",
"title": "Interface IHsController | HomeSeer PluginSdk Docs",
"keywords": "Interface IHsController C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [ScsService] public interface IHsController <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <ScsService> Public Interface IHsController Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll The interface used by plugins to communicate with the HomeSeer software An instance of this interface is automatically provided to an AbstractPlugin when AbstractPlugin.Connect(string[]) is called. Properties View Source APIVersion The current version of the HomeSeer Plugin API Declaration C# Visual Basic double APIVersion { get; } ReadOnly Property APIVersion As Double Property Value Type Description System.Double View Source DeviceCount The number of devices connected to the HomeSeer system Declaration C# Visual Basic int DeviceCount { get; } ReadOnly Property DeviceCount As Integer Property Value Type Description System.Int32 View Source EventCount The number of events configured on the HomeSeer system Declaration C# Visual Basic int EventCount { get; } ReadOnly Property EventCount As Integer Property Value Type Description System.Int32 Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source SolarNoon Get the DateTime for Solar Noon from the HomeSeer system Declaration C# Visual Basic DateTime SolarNoon { get; } ReadOnly Property SolarNoon As Date Property Value Type Description System.DateTime View Source Sunrise Get the DateTime for Sunrise from the HomeSeer system Declaration C# Visual Basic DateTime Sunrise { get; } ReadOnly Property Sunrise As Date Property Value Type Description System.DateTime View Source Sunset Get the DateTime for Sunset from the HomeSeer system Declaration C# Visual Basic DateTime Sunset { get; } ReadOnly Property Sunset As Date Property Value Type Description System.DateTime Methods View Source AddActionRunScript(Int32, String, String, String) Declaration C# Visual Basic void AddActionRunScript(int ref, string script, string method, string parms) Sub AddActionRunScript(ref As Integer, script As String, method As String, parms As String) Parameters Type Name Description System.Int32 ref System.String script System.String method System.String parms Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source AddDeviceActionToEvent(Int32, ControlEvent) Declaration C# Visual Basic string AddDeviceActionToEvent(int evRef, ControlEvent CC) Function AddDeviceActionToEvent(evRef As Integer, CC As ControlEvent) As String Parameters Type Name Description System.Int32 evRef ControlEvent CC Returns Type Description System.String Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source AddRefsToCategory(String, List<Int32>) Add a collection of refs to a category Declaration C# Visual Basic List<int> AddRefsToCategory(string id, List<int> devRefs) Function AddRefsToCategory(id As String, devRefs As List(Of Integer)) As List(Of Integer) Parameters Type Name Description System.String id The ID of the category System.Collections.Generic.List < System.Int32 > devRefs A list of refs to add to the category Returns Type Description System.Collections.Generic.List < System.Int32 > The current list of refs on the category after adding the ones specified Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown if a category with that ID isn't found View Source AddRefToCategory(String, Int32) Add a ref to a category Declaration C# Visual Basic List<int> AddRefToCategory(string id, int devRef) Function AddRefToCategory(id As String, devRef As Integer) As List(Of Integer) Parameters Type Name Description System.String id The ID of the category System.Int32 devRef The ref to add to the category Returns Type Description System.Collections.Generic.List < System.Int32 > The current list of refs on the category after adding the one specified Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown if a category with that ID isn't found View Source AddStatusControlToFeature(Int32, StatusControl) Add a StatusControl to the collection of StatusControl s associated with an HsFeature Declaration C# Visual Basic void AddStatusControlToFeature(int featRef, StatusControl statusControl) Sub AddStatusControlToFeature(featRef As Integer, statusControl As StatusControl) Parameters Type Name Description System.Int32 featRef The Ref of the HsFeature to update StatusControl statusControl The StatusControl to add View Source AddStatusGraphicToFeature(Int32, StatusGraphic) Add a StatusGraphic to the collection of StatusGraphic s associated with an HsFeature Declaration C# Visual Basic void AddStatusGraphicToFeature(int featRef, StatusGraphic statusGraphic) Sub AddStatusGraphicToFeature(featRef As Integer, statusGraphic As StatusGraphic) Parameters Type Name Description System.Int32 featRef The Ref of the HsFeature to update StatusGraphic statusGraphic The StatusGraphic to add View Source CheckRegistrationStatus(String) Get the ERegistrationMode of a plugin Declaration C# Visual Basic int CheckRegistrationStatus(string pluginId) Function CheckRegistrationStatus(pluginId As String) As Integer Parameters Type Name Description System.String pluginId The ID of the plugin to read Returns Type Description System.Int32 The ERegistrationMode of the plugin with the specified ID View Source ClearIniSection(String, String) Clear all of the settings saved in a section in a specific file Declaration C# Visual Basic void ClearIniSection(string sectionName, string fileName) Sub ClearIniSection(sectionName As String, fileName As String) Parameters Type Name Description System.String sectionName The section to clear System.String fileName The name of the INI file to edit View Source ClearStatusControlsByRef(Int32) Delete all StatusControl s associated with an HsFeature Declaration C# Visual Basic void ClearStatusControlsByRef(int featRef) Sub ClearStatusControlsByRef(featRef As Integer) Parameters Type Name Description System.Int32 featRef The Ref of the HsFeature to update View Source ClearStatusGraphicsByRef(Int32) Delete all StatusGraphic s associated with an HsFeature Declaration C# Visual Basic void ClearStatusGraphicsByRef(int featRef) Sub ClearStatusGraphicsByRef(featRef As Integer) Parameters Type Name Description System.Int32 featRef The Ref of the HsFeature to update View Source CreateCategory(String, String) Create a new category with the specified name and image path Declaration C# Visual Basic string CreateCategory(string name, string image) Function CreateCategory(name As String, image As String) As String Parameters Type Name Description System.String name The display name of the category System.String image The path to the image for the category. Use the files in /html/images/Categories/ Returns Type Description System.String The ID of the newly created category Exceptions Type Condition System.ArgumentException Thrown when the name is already in use by another category View Source CreateDevice(NewDeviceData) Create a new device in HomeSeer Declaration C# Visual Basic int CreateDevice(NewDeviceData deviceData) Function CreateDevice(deviceData As NewDeviceData) As Integer Parameters Type Name Description NewDeviceData deviceData NewDeviceData describing the device produced by DeviceFactory Returns Type Description System.Int32 The unique reference ID assigned to the device View Source CreateEventWithNameInGroup(String, String) Create a new event with a specific name in a particular group Declaration C# Visual Basic int CreateEventWithNameInGroup(string name, string group) Function CreateEventWithNameInGroup(name As String, group As String) As Integer Parameters Type Name Description System.String name The name of the new event System.String group The group to add the event to Returns Type Description System.Int32 The Ref of the new event Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source CreateFeatureForDevice(NewFeatureData) Create a new feature on a device in HomeSeer Declaration C# Visual Basic int CreateFeatureForDevice(NewFeatureData featureData) Function CreateFeatureForDevice(featureData As NewFeatureData) As Integer Parameters Type Name Description NewFeatureData featureData NewFeatureData describing the feature produced by FeatureFactory Returns Type Description System.Int32 The unique reference ID assigned to the feature View Source CreateVar(String) Create a new global variable Declaration C# Visual Basic string CreateVar(string name) Function CreateVar(name As String) As String Parameters Type Name Description System.String name The name of the global variable Returns Type Description System.String An empty string no error occured, or an error string if one did occur. View Source DecryptString(String, String, String) Decrypt a string using a decryption password that you specify. Declaration C# Visual Basic string DecryptString(string text, string password, string keyModifier = \"\") Function DecryptString(text As String, password As String, keyModifier As String = \"\") As String Parameters Type Name Description System.String text The text to decrypt System.String password The user-created text string to decrypt the text with System.String keyModifier The modifier used with the password to create the decryption key. If EncryptString was used with a key modifier was, you must specify the same key modifier here. Returns Type Description System.String A string containing a decrypted form of the text parameter, decrypted using password (and keyModifier if provided) View Source DeleteAfterTrigger_Clear(Int32) Declaration C# Visual Basic void DeleteAfterTrigger_Clear(int evRef) Sub DeleteAfterTrigger_Clear(evRef As Integer) Parameters Type Name Description System.Int32 evRef Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source DeleteAfterTrigger_Set(Int32) Declaration C# Visual Basic void DeleteAfterTrigger_Set(int evRef) Sub DeleteAfterTrigger_Set(evRef As Integer) Parameters Type Name Description System.Int32 evRef Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source DeleteCategoryById(String) Delete a category by ID Declaration C# Visual Basic void DeleteCategoryById(string id) Sub DeleteCategoryById(id As String) Parameters Type Name Description System.String id The ID of the category to delete View Source DeleteDevice(Int32) Delete the HsDevice with the specified Ref and all other AbstractHsDevice s associated with it. Declaration C# Visual Basic bool DeleteDevice(int devRef) Function DeleteDevice(devRef As Integer) As Boolean Parameters Type Name Description System.Int32 devRef The Ref of the HsDevice to delete Returns Type Description System.Boolean TRUE if the HsDevice was deleted, FALSE if there was an error. Check the HS logs for more info on the error. Exceptions Type Condition System.ArgumentException Thrown when the specified devRef refers to a HsFeature and not a HsDevice . View Source DeleteDevicesByInterface(String) Delete all devices, and their corresponding features, from the HomeSeer system that are managed by the specified plugin interface Declaration C# Visual Basic bool DeleteDevicesByInterface(string interfaceName) Function DeleteDevicesByInterface(interfaceName As String) As Boolean Parameters Type Name Description System.String interfaceName The name of the interface that owns all of the devices and features to delete. This is usually the plugin Id Returns Type Description System.Boolean TRUE if the delete was successful, FALSE if there was a problem during the process. View Source DeleteEventByRef(Int32) Delete an event Declaration C# Visual Basic void DeleteEventByRef(int evRef) Sub DeleteEventByRef(evRef As Integer) Parameters Type Name Description System.Int32 evRef The Ref of the event to delete Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source DeleteFeature(Int32) Delete the HsFeature with the specified Ref Declaration C# Visual Basic bool DeleteFeature(int featRef) Function DeleteFeature(featRef As Integer) As Boolean Parameters Type Name Description System.Int32 featRef The Ref of the HsFeature to delete Returns Type Description System.Boolean TRUE if the HsFeature was deleted, FALSE if there was an error. Check the HS logs for more info on the error. View Source DeleteImageFile(String) Delete the specified file from HomeSeer's HTML image directory. Declaration C# Visual Basic bool DeleteImageFile(string targetFile) Function DeleteImageFile(targetFile As String) As Boolean Parameters Type Name Description System.String targetFile The path of the image following \"\\html\\images" Returns Type Description System.Boolean TRUE if the file was deleted successfully, FALSE if it still exists Examples The following example shows how to delete an image from HomeSeer's HTML image directory. var filePath = $\"{Id}\\\\sampleImage.png\"; if (!HomeSeerSystem.DeleteImageFile(filePath)) { Console.WriteLine($\"Error deleting {filePath}\"); } See Also SaveImageFile(Byte[], String, Boolean) View Source DeleteStatusControlByValue(Int32, Double) Delete a StatusControl in the collection of StatusControl s associated with an HsFeature Declaration C# Visual Basic bool DeleteStatusControlByValue(int featRef, double value) Function DeleteStatusControlByValue(featRef As Integer, value As Double) As Boolean Parameters Type Name Description System.Int32 featRef The Ref of the HsFeature to update System.Double value The value of the StatusControl to delete Returns Type Description System.Boolean true if the deletion succeeded, otherwise false View Source DeleteStatusGraphicByValue(Int32, Double) Delete a StatusGraphic in the collection of StatusGraphic s associated with an HsFeature Declaration C# Visual Basic bool DeleteStatusGraphicByValue(int featRef, double value) Function DeleteStatusGraphicByValue(featRef As Integer, value As Double) As Boolean Parameters Type Name Description System.Int32 featRef The Ref of the HsFeature to update System.Double value The value of the StatusGraphic to delete Returns Type Description System.Boolean true if the deletion succeeded, otherwise false View Source DeleteVar(String) Delete a global variable Declaration C# Visual Basic void DeleteVar(string name) Sub DeleteVar(name As String) Parameters Type Name Description System.String name The name of the global variable View Source DisableEventByRef(Int32) Disable an event Declaration C# Visual Basic void DisableEventByRef(int evRef) Sub DisableEventByRef(evRef As Integer) Parameters Type Name Description System.Int32 evRef The Ref of the event to disable Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source DoesRefExist(Int32) Determine if a specific device/feature Ref exists in the HomeSeer system Declaration C# Visual Basic bool DoesRefExist(int devOrFeatRef) Function DoesRefExist(devOrFeatRef As Integer) As Boolean Parameters Type Name Description System.Int32 devOrFeatRef The Ref of the AbstractHsDevice to read Returns Type Description System.Boolean TRUE if the Ref exists, FALSE if it does not View Source EnableEventByRef(Int32) Enable an event Declaration C# Visual Basic void EnableEventByRef(int evref) Sub EnableEventByRef(evref As Integer) Parameters Type Name Description System.Int32 evref The Ref of the event to enable Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source Energy_AddCalculator(Int32, String, TimeSpan, TimeSpan) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic string Energy_AddCalculator(int dvRef, string Name, TimeSpan Range, TimeSpan StartBack) Function Energy_AddCalculator(dvRef As Integer, Name As String, Range As TimeSpan, StartBack As TimeSpan) As String Parameters Type Name Description System.Int32 dvRef System.String Name System.TimeSpan Range System.TimeSpan StartBack Returns Type Description System.String View Source Energy_AddCalculatorEvenDay(Int32, String, TimeSpan, TimeSpan) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic string Energy_AddCalculatorEvenDay(int dvRef, string Name, TimeSpan Range, TimeSpan StartBack) Function Energy_AddCalculatorEvenDay(dvRef As Integer, Name As String, Range As TimeSpan, StartBack As TimeSpan) As String Parameters Type Name Description System.Int32 dvRef System.String Name System.TimeSpan Range System.TimeSpan StartBack Returns Type Description System.String View Source Energy_AddData(Int32, EnergyData) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic bool Energy_AddData(int dvRef, EnergyData Data) Function Energy_AddData(dvRef As Integer, Data As EnergyData) As Boolean Parameters Type Name Description System.Int32 dvRef EnergyData Data Returns Type Description System.Boolean View Source Energy_AddDataArray(Int32, EnergyData[]) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic bool Energy_AddDataArray(int dvRef, EnergyData[] colData) Function Energy_AddDataArray(dvRef As Integer, colData As EnergyData()) As Boolean Parameters Type Name Description System.Int32 dvRef EnergyData [] colData Returns Type Description System.Boolean View Source Energy_CalcCount(Int32) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic int Energy_CalcCount(int dvRef) Function Energy_CalcCount(dvRef As Integer) As Integer Parameters Type Name Description System.Int32 dvRef Returns Type Description System.Int32 View Source Energy_GetArchiveData(Int32, DateTime, DateTime) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic List<EnergyData> Energy_GetArchiveData(int dvRef, DateTime dteStart, DateTime dteEnd) Function Energy_GetArchiveData(dvRef As Integer, dteStart As Date, dteEnd As Date) As List(Of EnergyData) Parameters Type Name Description System.Int32 dvRef System.DateTime dteStart System.DateTime dteEnd Returns Type Description System.Collections.Generic.List < EnergyData > View Source Energy_GetArchiveDatas(String, DateTime, DateTime) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic List<EnergyData> Energy_GetArchiveDatas(string dvRefs, DateTime dteStart, DateTime dteEnd) Function Energy_GetArchiveDatas(dvRefs As String, dteStart As Date, dteEnd As Date) As List(Of EnergyData) Parameters Type Name Description System.String dvRefs System.DateTime dteStart System.DateTime dteEnd Returns Type Description System.Collections.Generic.List < EnergyData > View Source Energy_GetCalcByIndex(Int32, Int32) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic EnergyCalcData Energy_GetCalcByIndex(int dvRef, int Index) Function Energy_GetCalcByIndex(dvRef As Integer, Index As Integer) As EnergyCalcData Parameters Type Name Description System.Int32 dvRef System.Int32 Index Returns Type Description EnergyCalcData View Source Energy_GetCalcByName(Int32, String) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic EnergyCalcData Energy_GetCalcByName(int dvRef, string Name) Function Energy_GetCalcByName(dvRef As Integer, Name As String) As EnergyCalcData Parameters Type Name Description System.Int32 dvRef System.String Name Returns Type Description EnergyCalcData View Source Energy_GetData(Int32, DateTime, DateTime) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic List<EnergyData> Energy_GetData(int dvRef, DateTime dteStart, DateTime dteEnd) Function Energy_GetData(dvRef As Integer, dteStart As Date, dteEnd As Date) As List(Of EnergyData) Parameters Type Name Description System.Int32 dvRef System.DateTime dteStart System.DateTime dteEnd Returns Type Description System.Collections.Generic.List < EnergyData > View Source Energy_GetEnergyRefs(Boolean) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic SortedList<int, string> Energy_GetEnergyRefs(bool GetParentRefs) Function Energy_GetEnergyRefs(GetParentRefs As Boolean) As SortedList(Of Integer, String) Parameters Type Name Description System.Boolean GetParentRefs Returns Type Description System.Collections.Generic.SortedList < System.Int32 , System.String > View Source Energy_GetGraph(Int32, String, Int32, Int32, String) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic Image Energy_GetGraph(int id, string dvRefs, int width, int height, string format) Function Energy_GetGraph(id As Integer, dvRefs As String, width As Integer, height As Integer, format As String) As Image Parameters Type Name Description System.Int32 id System.String dvRefs System.Int32 width System.Int32 height System.String format Returns Type Description System.Drawing.Image View Source Energy_GetGraphData(Int32) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic EnergyGraphData Energy_GetGraphData(int ID) Function Energy_GetGraphData(ID As Integer) As EnergyGraphData Parameters Type Name Description System.Int32 ID Returns Type Description EnergyGraphData View Source Energy_GetGraphDataIDs() PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic SortedList<int, string> Energy_GetGraphDataIDs() Function Energy_GetGraphDataIDs As SortedList(Of Integer, String) Returns Type Description System.Collections.Generic.SortedList < System.Int32 , System.String > View Source Energy_RemoveData(Int32, DateTime) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic int Energy_RemoveData(int dvRef, DateTime dteStart) Function Energy_RemoveData(dvRef As Integer, dteStart As Date) As Integer Parameters Type Name Description System.Int32 dvRef System.DateTime dteStart Returns Type Description System.Int32 View Source Energy_SaveGraphData(EnergyGraphData) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic int Energy_SaveGraphData(EnergyGraphData Data) Function Energy_SaveGraphData(Data As EnergyGraphData) As Integer Parameters Type Name Description EnergyGraphData Data Returns Type Description System.Int32 View Source Energy_SetEnergyDevice(Int32, Constants.enumEnergyDevice) PLEASE NOTE: Code related to the Energy components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Energy API may undergo significant changes in the near future. Please use with caution. Declaration C# Visual Basic bool Energy_SetEnergyDevice(int dvRef, Constants.enumEnergyDevice DeviceType) Function Energy_SetEnergyDevice(dvRef As Integer, DeviceType As Constants.enumEnergyDevice) As Boolean Parameters Type Name Description System.Int32 dvRef Constants.enumEnergyDevice DeviceType Returns Type Description System.Boolean View Source EventEnabled(Int32) Determine if an event is enabled or not Declaration C# Visual Basic bool EventEnabled(int evRef) Function EventEnabled(evRef As Integer) As Boolean Parameters Type Name Description System.Int32 evRef The Ref of the event Returns Type Description System.Boolean TRUE if the event is enabled Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source EventExistsByRef(Int32) Determine if an event with a particular Ref exists Declaration C# Visual Basic bool EventExistsByRef(int evRef) Function EventExistsByRef(evRef As Integer) As Boolean Parameters Type Name Description System.Int32 evRef The Ref of the event Returns Type Description System.Boolean TRUE if an event with the specified Ref exists Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source EventSetRecurringTrigger(Int32, TimeSpan, Boolean, Boolean) Declaration C# Visual Basic bool EventSetRecurringTrigger(int evRef, TimeSpan Frequency, bool Once_Per_Hour, bool Reference_To_Hour) Function EventSetRecurringTrigger(evRef As Integer, Frequency As TimeSpan, Once_Per_Hour As Boolean, Reference_To_Hour As Boolean) As Boolean Parameters Type Name Description System.Int32 evRef System.TimeSpan Frequency System.Boolean Once_Per_Hour System.Boolean Reference_To_Hour Returns Type Description System.Boolean Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source EventSetTimeTrigger(Int32, DateTime) Declaration C# Visual Basic bool EventSetTimeTrigger(int evRef, DateTime DT) Function EventSetTimeTrigger(evRef As Integer, DT As Date) As Boolean Parameters Type Name Description System.Int32 evRef System.DateTime DT Returns Type Description System.Boolean Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetActionsByInterface(String) Get all of the event actions managed by a specific plugin Declaration C# Visual Basic List<TrigActInfo> GetActionsByInterface(string pluginId) Function GetActionsByInterface(pluginId As String) As List(Of TrigActInfo) Parameters Type Name Description System.String pluginId The ID of the plugin If you are targeting a actiona owned by a legacy plugin, use the IPlugInAPI.Name of the plugin for pluginId Returns Type Description System.Collections.Generic.List < TrigActInfo > A list of all of the actions managed by the plugin Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetAllCategories() Get a Dictionary of all categories on the HomeSeer system where the key is the ID and the value is the name of each category Declaration C# Visual Basic Dictionary<string, string> GetAllCategories() Function GetAllCategories As Dictionary(Of String, String) Returns Type Description System.Collections.Generic.Dictionary < System.String , System.String > A Dictionary of category names by ID View Source GetAllDeviceRefs() Get a list of all of the device refs present in the HomeSeer system This does not include refs for features. To get those in addition to these, use GetAllRefs() or call GetAllFeatureRefs() to get a list of just features Declaration C# Visual Basic List<int> GetAllDeviceRefs() Function GetAllDeviceRefs As List(Of Integer) Returns Type Description System.Collections.Generic.List < System.Int32 > A list of integers corresponding to the device refs managed by the HomeSeer system View Source GetAllDevices(Boolean) Get a list of all of the devices managed by the HomeSeer system without associated features. WARNING - this is an expensive method to execute and it should be used with the utmost discretion Declaration C# Visual Basic List<HsDevice> GetAllDevices(bool withFeatures) Function GetAllDevices(withFeatures As Boolean) As List(Of HsDevice) Parameters Type Name Description System.Boolean withFeatures TRUE if associated features should be attached to their devices, or FALSE if features should be left out. Returns Type Description System.Collections.Generic.List < HsDevice > A list of HsDevice s managed by the HomeSeer system with or without associated features linked. View Source GetAllEventGroups() Get the data for all event groups Declaration C# Visual Basic List<EventGroupData> GetAllEventGroups() Function GetAllEventGroups As List(Of EventGroupData) Returns Type Description System.Collections.Generic.List < EventGroupData > A list of all of the event groups Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetAllEvents() Get the data for all of the events Declaration C# Visual Basic List<EventData> GetAllEvents() Function GetAllEvents As List(Of EventData) Returns Type Description System.Collections.Generic.List < EventData > A list of all of the events Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetAllFeatureRefs() Get a list of all of the feature refs present in the HomeSeer system This does not include refs for devices. To get those in addition to these, use GetAllRefs() or call GetAllDeviceRefs() to get a list of just devices Declaration C# Visual Basic List<int> GetAllFeatureRefs() Function GetAllFeatureRefs As List(Of Integer) Returns Type Description System.Collections.Generic.List < System.Int32 > A list of integers corresponding to the feature refs managed by the HomeSeer system View Source GetAllRefs() Get a list of all of the device and feature refs present in the HomeSeer system To get just a list of devices, call GetAllDeviceRefs() or to get a list of features, call GetAllFeatureRefs() Declaration C# Visual Basic List<int> GetAllRefs() Function GetAllRefs As List(Of Integer) Returns Type Description System.Collections.Generic.List < System.Int32 > A list of integers corresponding to the device and feature refs managed by the HomeSeer system View Source GetAppPath() Returns the path to the HS executable. Some plugins need this when running remotely Declaration C# Visual Basic string GetAppPath() Function GetAppPath As String Returns Type Description System.String The path to the HomeSeer executable View Source GetCategoryImageById(String) Get the image path of a category by its ID Declaration C# Visual Basic string GetCategoryImageById(string id) Function GetCategoryImageById(id As String) As String Parameters Type Name Description System.String id The ID of the category Returns Type Description System.String The image path of the category. Null if the category doesn't exist. Empty string if there is no image path for that category View Source GetCategoryNameById(String) Get the name of a category by its ID Declaration C# Visual Basic string GetCategoryNameById(string id) Function GetCategoryNameById(id As String) As String Parameters Type Name Description System.String id The ID of the category Returns Type Description System.String The name of the category. Null or empty string if the category does not exist View Source GetDeviceByAddress(String) Get the AbstractHsDevice as a HsDevice with the specified Address . The Features property will be empty. To include HsFeature s use GetDeviceWithFeaturesByRef(Int32) Declaration C# Visual Basic HsDevice GetDeviceByAddress(string devAddress) Function GetDeviceByAddress(devAddress As String) As HsDevice Parameters Type Name Description System.String devAddress The Address of the AbstractHsDevice to read Returns Type Description HsDevice A HsDevice whether it is a Device or Feature Remarks Calling this using the Address of a HsFeature may have adverse effects. View Source GetDeviceByCode(String) Get the first AbstractHsDevice found as a HsDevice with the specified Code. Declaration C# Visual Basic HsDevice GetDeviceByCode(string devCode) Function GetDeviceByCode(devCode As String) As HsDevice Parameters Type Name Description System.String devCode The Code of the AbstractHsDevice to read Returns Type Description HsDevice A HsDevice whether it is a Device or Feature Remarks Calling this using the Address of a HsFeature may have adverse effects. See Also GetCodeFromAddressString ( System.String ) View Source GetDeviceByRef(Int32) Get the AbstractHsDevice as a HsDevice with the specified Ref . The Features property will be empty. To include HsFeature s use GetDeviceWithFeaturesByRef(Int32) Declaration C# Visual Basic HsDevice GetDeviceByRef(int devRef) Function GetDeviceByRef(devRef As Integer) As HsDevice Parameters Type Name Description System.Int32 devRef The Ref of the AbstractHsDevice to read Returns Type Description HsDevice A HsDevice whether it is a Device or Feature Remarks Calling this using the Ref of a HsFeature may have adverse effects. View Source GetDeviceWithFeaturesByRef(Int32) Get the AbstractHsDevice as a HsDevice with the specified Ref . The Features property will be populated with associated features. Declaration C# Visual Basic HsDevice GetDeviceWithFeaturesByRef(int devRef) Function GetDeviceWithFeaturesByRef(devRef As Integer) As HsDevice Parameters Type Name Description System.Int32 devRef The Ref of the AbstractHsDevice to read Returns Type Description HsDevice A HsDevice whether it is a Device or Feature Remarks Calling this using the Ref of a HsFeature may have adverse effects. View Source GetEventByRef(Int32) Get the data for an event Declaration C# Visual Basic EventData GetEventByRef(int eventRef) Function GetEventByRef(eventRef As Integer) As EventData Parameters Type Name Description System.Int32 eventRef The Ref of the event Returns Type Description EventData The data of the event Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetEventGroupById(Int32) Get the data for an event group Declaration C# Visual Basic EventGroupData GetEventGroupById(int groupRef) Function GetEventGroupById(groupRef As Integer) As EventGroupData Parameters Type Name Description System.Int32 groupRef The Ref of the group Returns Type Description EventGroupData The data of the event group Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetEventNameByRef(Int32) Get the name of the event with the specific Ref Declaration C# Visual Basic string GetEventNameByRef(int eventRef) Function GetEventNameByRef(eventRef As Integer) As String Parameters Type Name Description System.Int32 eventRef The Ref of the event to read Returns Type Description System.String The name of the event Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetEventRefByName(String) Get the Ref of an event by name Declaration C# Visual Basic int GetEventRefByName(string eventName) Function GetEventRefByName(eventName As String) As Integer Parameters Type Name Description System.String eventName The name of the event to read Returns Type Description System.Int32 The Ref of the event Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetEventRefByNameAndGroup(String, String) Get the Ref of an event by its name and the group it is in Declaration C# Visual Basic int GetEventRefByNameAndGroup(string eventName, string eventGroup) Function GetEventRefByNameAndGroup(eventName As String, eventGroup As String) As Integer Parameters Type Name Description System.String eventName The name of the event System.String eventGroup The name of the group Returns Type Description System.Int32 The Ref of the event Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetEventsByGroup(Int32) Get all of the events in a particular group Declaration C# Visual Basic List<EventData> GetEventsByGroup(int groupId) Function GetEventsByGroup(groupId As Integer) As List(Of EventData) Parameters Type Name Description System.Int32 groupId The Ref of the event group Returns Type Description System.Collections.Generic.List < EventData > A list of all of the events in the event group Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetEventTriggerTime(Int32) Get the DateTime of the last time a specific event was triggered Declaration C# Visual Basic DateTime GetEventTriggerTime(int evRef) Function GetEventTriggerTime(evRef As Integer) As Date Parameters Type Name Description System.Int32 evRef The Ref of the event to read Returns Type Description System.DateTime The DateTime the event was last triggered Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetEventVoiceCommand(Int32) Get the voice command attached to an event Declaration C# Visual Basic string GetEventVoiceCommand(int evRef) Function GetEventVoiceCommand(evRef As Integer) As String Parameters Type Name Description System.Int32 evRef The Ref of the event to read Returns Type Description System.String The voice command string set on the event Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetFeatureByAddress(String) Get the AbstractHsDevice as a HsFeature with the specified Address . Declaration C# Visual Basic HsFeature GetFeatureByAddress(string featAddress) Function GetFeatureByAddress(featAddress As String) As HsFeature Parameters Type Name Description System.String featAddress The Address of the AbstractHsDevice to read Returns Type Description HsFeature A HsFeature whether it is a Device or Feature Remarks Calling this using the Address of a HsDevice may have adverse effects. View Source GetFeatureByCode(String) Get the first AbstractHsDevice found as a HsFeature with the specified Code. Declaration C# Visual Basic HsFeature GetFeatureByCode(string featCode) Function GetFeatureByCode(featCode As String) As HsFeature Parameters Type Name Description System.String featCode The Code of the AbstractHsDevice to read Returns Type Description HsFeature A HsFeature whether it is a Device or Feature Remarks Calling this using the Address of a HsDevice may have adverse effects. See Also GetCodeFromAddressString ( System.String ) View Source GetFeatureByRef(Int32) Get the AbstractHsDevice as a HsFeature with the specified Ref . Declaration C# Visual Basic HsFeature GetFeatureByRef(int featRef) Function GetFeatureByRef(featRef As Integer) As HsFeature Parameters Type Name Description System.Int32 featRef The Ref of the AbstractHsDevice to read Returns Type Description HsFeature A HsFeature whether it is a Device or Feature Remarks Calling this using the Ref of a HsDevice may have adverse effects. View Source GetFirstLocationList() Get an alpha-sorted list of the location strings marked as first This is the list of location strings that are marked as first according to IsLocation1First() Declaration C# Visual Basic List<string> GetFirstLocationList() Function GetFirstLocationList As List(Of String) Returns Type Description System.Collections.Generic.List < System.String > A List of the first location strings View Source GetFirstLocationName() Get the name of the first location. This is the name of the location that is marked as first according to IsLocation1First() Declaration C# Visual Basic string GetFirstLocationName() Function GetFirstLocationName As String Returns Type Description System.String The name of the first location View Source GetHSEdition() Get the current edition of HomeSeer that is running Declaration C# Visual Basic Constants.editions GetHSEdition() Function GetHSEdition As Constants.editions Returns Type Description Constants.editions The edition of HomeSeer currently running View Source GetIniSection(String, String) Get a key-value map of settings saved in the specified section of the INI file Declaration C# Visual Basic Dictionary<string, string> GetIniSection(string section, string fileName) Function GetIniSection(section As String, fileName As String) As Dictionary(Of String, String) Parameters Type Name Description System.String section The section to get System.String fileName The name of the INI file Returns Type Description System.Collections.Generic.Dictionary < System.String , System.String > A Dictionary of setting keys and values View Source GetINISetting(String, String, String, String) Get the value of the setting saved to INI file Declaration C# Visual Basic string GetINISetting(string sectionName, string key, string defaultVal, string fileName = \"\") Function GetINISetting(sectionName As String, key As String, defaultVal As String, fileName As String = \"\") As String Parameters Type Name Description System.String sectionName The name of the section the setting is saved to System.String key The key of the setting System.String defaultVal A default value to use if the setting was not previously saved System.String fileName The name of the INI file to search Returns Type Description System.String View Source GetIpAddress() Obtain the IP address the HomeSeer system is accessible through Declaration C# Visual Basic string GetIpAddress() Function GetIpAddress As String Returns Type Description System.String A string representation of the IP address HomeSeer is running on View Source GetLocation1Name() Get the name of the Location1 location Declaration C# Visual Basic string GetLocation1Name() Function GetLocation1Name As String Returns Type Description System.String The user defined name of Location1 View Source GetLocation2Name() Get the name of the Location2 location Declaration C# Visual Basic string GetLocation2Name() Function GetLocation2Name As String Returns Type Description System.String The user defined name of Location2 View Source GetLocations2List() Get an alpha-sorted list of Location2 strings Declaration C# Visual Basic SortedList GetLocations2List() Function GetLocations2List As SortedList Returns Type Description System.Collections.SortedList A SortedList of Location2 location strings View Source GetLocationsList() Get an alpha-sorted list of Location1 strings Declaration C# Visual Basic SortedList GetLocationsList() Function GetLocationsList As SortedList Returns Type Description System.Collections.SortedList A SortedList of Location1 location strings View Source GetNameByRef(Int32) Get the name of a specific device/feature by its Ref Declaration C# Visual Basic string GetNameByRef(int devOrFeatRef) Function GetNameByRef(devOrFeatRef As Integer) As String Parameters Type Name Description System.Int32 devOrFeatRef The Ref of the AbstractHsDevice to read Returns Type Description System.String The name of the device/feature with the matching Ref View Source GetOsType() Get the type of OS HomeSeer is running on as EOsType Declaration C# Visual Basic int GetOsType() Function GetOsType As Integer Returns Type Description System.Int32 0 = windows, 1 = linux See Also EOsType View Source GetPluginVersionById(String) Get the version of a particular plugin by its Id . Do not use this for legacy plugins; it will not work. Declaration C# Visual Basic string GetPluginVersionById(string pluginId) Function GetPluginVersionById(pluginId As String) As String Parameters Type Name Description System.String pluginId The Id of the plugin Returns Type Description System.String The version of the main dll for the plugin Exceptions Type Condition System.ArgumentNullException Thrown when the pluginId parameter is null or whitespace System.Collections.Generic.KeyNotFoundException Thrown when a plugin with the specified ID is not found in the list of installed plugins View Source GetPluginVersionByName(String) Get the version of a particular plugin by its name. For interfacing with legacy plugins. Declaration C# Visual Basic string GetPluginVersionByName(string pluginName) Function GetPluginVersionByName(pluginName As String) As String Parameters Type Name Description System.String pluginName The Name of the plugin Returns Type Description System.String The version of the main dll for the plugin Remarks This is useful for interacting with Legacy plugins that used a name-instance pair for identification instead of a unique ID. You should use GetPluginVersionById(String) if you are trying to interface with HS4 plugins. Exceptions Type Condition System.ArgumentNullException Thrown when the pluginName parameter is null or whitespace System.Collections.Generic.KeyNotFoundException Thrown when a plugin with the specified name is not found in the list of installed plugins View Source GetPropertyByInterface(String, EProperty, Boolean) Get a map containing the value of a specific property for every device owned by a particular plugin Declaration C# Visual Basic Dictionary<int, object> GetPropertyByInterface(string interfaceName, EProperty property, bool deviceOnly = false) Function GetPropertyByInterface(interfaceName As String, property As EProperty, deviceOnly As Boolean = False) As Dictionary(Of Integer, Object) Parameters Type Name Description System.String interfaceName The ID of the plugin that owns the devices EProperty property The EProperty type to read System.Boolean deviceOnly Whether the result should only contain devices or both devices and features Returns Type Description System.Collections.Generic.Dictionary < System.Int32 , System.Object > A Dictionary of device/feature refs and the value of the EProperty requested View Source GetPropertyByRef(Int32, EProperty) Get the value of the EProperty for the AbstractHsDevice with the specified Ref Declaration C# Visual Basic object GetPropertyByRef(int devOrFeatRef, EProperty property) Function GetPropertyByRef(devOrFeatRef As Integer, property As EProperty) As Object Parameters Type Name Description System.Int32 devOrFeatRef The Ref of the AbstractHsDevice to read EProperty property The EProperty to read Returns Type Description System.Object The value of the requested EProperty of the AbstractHsDevice View Source GetRefsByCategoryId(String) Get a list of Ref s of devices and features included in the category Declaration C# Visual Basic List<int> GetRefsByCategoryId(string id) Function GetRefsByCategoryId(id As String) As List(Of Integer) Parameters Type Name Description System.String id The ID of the category Returns Type Description System.Collections.Generic.List < System.Int32 > A List of Ref s of devices and features included in the category. Null if the category doesn't exist. Empty list if no devices or features are included in the category. View Source GetRefsByInterface(String, Boolean) Get a list of device/feature references that are associated with the specified plugin interface Declaration C# Visual Basic List<int> GetRefsByInterface(string interfaceName, bool deviceOnly = false) Function GetRefsByInterface(interfaceName As String, deviceOnly As Boolean = False) As List(Of Integer) Parameters Type Name Description System.String interfaceName The ID of the plugin interface to get devices and features for System.Boolean deviceOnly Whether to get refs for devices or both devices and features Returns Type Description System.Collections.Generic.List < System.Int32 > A list of device/feature reference IDs View Source GetSecondLocationList() Get an alpha-sorted list of the location strings marked as second This is the list of location strings that are marked as second according to IsLocation1First() Declaration C# Visual Basic List<string> GetSecondLocationList() Function GetSecondLocationList As List(Of String) Returns Type Description System.Collections.Generic.List < System.String > A List of the second location strings View Source GetSecondLocationName() Get the name of the second location. This is the name of the location that is marked as second according to IsLocation1First() Declaration C# Visual Basic string GetSecondLocationName() Function GetSecondLocationName As String Returns Type Description System.String The name of the second location View Source GetSpeakerInstanceList() This function retrieves a comma separated list of host:instance names for Speaker client instances currently connected to HomeSeer. Declaration C# Visual Basic string GetSpeakerInstanceList() Function GetSpeakerInstanceList As String Returns Type Description System.String The returned instance list is a comma separated list of host:instance pairs View Source GetStatusControlCollectionByRef(Int32) Get the StatusControlCollection describing all of the StatusControl s associated with an HsFeature Declaration C# Visual Basic StatusControlCollection GetStatusControlCollectionByRef(int featRef) Function GetStatusControlCollectionByRef(featRef As Integer) As StatusControlCollection Parameters Type Name Description System.Int32 featRef The Ref of the AbstractHsDevice to read Returns Type Description StatusControlCollection The StatusControlCollection for the HsFeature View Source GetStatusControlCountByRef(Int32) Get the number of StatusControl s associated with an HsFeature Declaration C# Visual Basic int GetStatusControlCountByRef(int featRef) Function GetStatusControlCountByRef(featRef As Integer) As Integer Parameters Type Name Description System.Int32 featRef The Ref of the AbstractHsDevice to read Returns Type Description System.Int32 The number of StatusControl s for the HsFeature View Source GetStatusControlForLabel(Int32, String) Get the StatusControl for a Label on an HsFeature Declaration C# Visual Basic StatusControl GetStatusControlForLabel(int featRef, string label) Function GetStatusControlForLabel(featRef As Integer, label As String) As StatusControl Parameters Type Name Description System.Int32 featRef The Ref of the AbstractHsDevice to read System.String label The Label used by the StatusControl Returns Type Description StatusControl A StatusControl with the specified Label for the HsFeature View Source GetStatusControlForValue(Int32, Double) Get the StatusControl for a value on an HsFeature Declaration C# Visual Basic StatusControl GetStatusControlForValue(int featRef, double value) Function GetStatusControlForValue(featRef As Integer, value As Double) As StatusControl Parameters Type Name Description System.Int32 featRef The Ref of the AbstractHsDevice to read System.Double value The Value managed by the StatusControl Returns Type Description StatusControl A StatusControl that manages the value specified for the HsFeature View Source GetStatusControlsByRef(Int32) Get a list of StatusControl s associated with an HsFeature Declaration C# Visual Basic List<StatusControl> GetStatusControlsByRef(int featRef) Function GetStatusControlsByRef(featRef As Integer) As List(Of StatusControl) Parameters Type Name Description System.Int32 featRef The Ref of the AbstractHsDevice to read Returns Type Description System.Collections.Generic.List < StatusControl > The list of StatusControl s for the HsFeature View Source GetStatusControlsForRange(Int32, Double, Double) Get a list of StatusControl s for a range of values on an HsFeature Declaration C# Visual Basic List<StatusControl> GetStatusControlsForRange(int featRef, double min, double max) Function GetStatusControlsForRange(featRef As Integer, min As Double, max As Double) As List(Of StatusControl) Parameters Type Name Description System.Int32 featRef The Ref of the AbstractHsDevice to read System.Double min The minimum value of the range System.Double max The maximum value of the range Returns Type Description System.Collections.Generic.List < StatusControl > A list of StatusControl s for a range of values on the HsFeature View Source GetStatusGraphicCountByRef(Int32) Get the number of StatusGraphic s associated with an HsFeature Declaration C# Visual Basic int GetStatusGraphicCountByRef(int featRef) Function GetStatusGraphicCountByRef(featRef As Integer) As Integer Parameters Type Name Description System.Int32 featRef The Ref of the AbstractHsDevice to read Returns Type Description System.Int32 The number of StatusGraphic s for the HsFeature View Source GetStatusGraphicForValue(Int32, Double) Get the StatusGraphic for a value on an HsFeature Declaration C# Visual Basic StatusGraphic GetStatusGraphicForValue(int featRef, double value) Function GetStatusGraphicForValue(featRef As Integer, value As Double) As StatusGraphic Parameters Type Name Description System.Int32 featRef The Ref of the AbstractHsDevice to read System.Double value The Value managed by the StatusGraphic Returns Type Description StatusGraphic A StatusGraphic that manages the value specified for the HsFeature View Source GetStatusGraphicsByRef(Int32) Get a list of StatusGraphic s associated with an HsFeature Declaration C# Visual Basic List<StatusGraphic> GetStatusGraphicsByRef(int featRef) Function GetStatusGraphicsByRef(featRef As Integer) As List(Of StatusGraphic) Parameters Type Name Description System.Int32 featRef The Ref of the AbstractHsDevice to read Returns Type Description System.Collections.Generic.List < StatusGraphic > The list of StatusGraphic s for the HsFeature View Source GetStatusGraphicsForRange(Int32, Double, Double) Get a list of StatusGraphic s for a range of values on an HsFeature Declaration C# Visual Basic List<StatusGraphic> GetStatusGraphicsForRange(int featRef, double min, double max) Function GetStatusGraphicsForRange(featRef As Integer, min As Double, max As Double) As List(Of StatusGraphic) Parameters Type Name Description System.Int32 featRef The Ref of the AbstractHsDevice to read System.Double min The minimum value of the range System.Double max The maximum value of the range Returns Type Description System.Collections.Generic.List < StatusGraphic > View Source GetTriggersByInterface(String) Get all of the triggers managed by a specific plugin Declaration C# Visual Basic TrigActInfo[] GetTriggersByInterface(string pluginId) Function GetTriggersByInterface(pluginId As String) As TrigActInfo() Parameters Type Name Description System.String pluginId The ID of the plugin If you are targeting triggers owned by a legacy plugin, use the IPlugInAPI.Name of the plugin for pluginId Returns Type Description TrigActInfo [] An array of triggers managed by the plugin Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetTriggersByType(String, Int32) Get all of the triggers of a particular type Declaration C# Visual Basic TrigActInfo[] GetTriggersByType(string pluginId, int trigId) Function GetTriggersByType(pluginId As String, trigId As Integer) As TrigActInfo() Parameters Type Name Description System.String pluginId The ID of the plugin that owns the trigger type If you are targeting triggers owned by a legacy plugin, use the IPlugInAPI.Name of the plugin for pluginId System.Int32 trigId The ID of the trigger type Returns Type Description TrigActInfo [] An array of trigger data Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source GetUsers() Get a list of users and their rights Declaration C# Visual Basic string GetUsers() Function GetUsers As String Returns Type Description System.String a list of users in this format: username|rights,username2|rights2... View Source GetVar(String) Find the global variable associated with the name parameter and return it. Declaration C# Visual Basic object GetVar(string name) Function GetVar(name As String) As Object Parameters Type Name Description System.String name The name of the global variable Returns Type Description System.Object The global variable saved. View Source GetVolume(String) Get the volume on a speaker client Declaration C# Visual Basic int GetVolume(string host) Function GetVolume(host As String) As Integer Parameters Type Name Description System.String host The speaker host to speak to in the format host:instance Returns Type Description System.Int32 Volume level in the range of 0-100 View Source IsEventLoggingEnabledByRef(Int32) Determine if logging is enabled on an event Declaration C# Visual Basic bool IsEventLoggingEnabledByRef(int eventRef) Function IsEventLoggingEnabledByRef(eventRef As Integer) As Boolean Parameters Type Name Description System.Int32 eventRef The Ref of the event Returns Type Description System.Boolean TRUE if logging is enabled for the event Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source IsFeatureValueValid(Int32) Determine if the current status value of a HsFeature is considered valid. This calls IsValueValid() on the HsFeature to determine validity. Declaration C# Visual Basic bool IsFeatureValueValid(int featRef) Function IsFeatureValueValid(featRef As Integer) As Boolean Parameters Type Name Description System.Int32 featRef The Ref of the HsFeature to read Returns Type Description System.Boolean The result of IsValueValid() View Source IsFlagOnRef(Int32, EMiscFlag) Determine if a EMiscFlag is turned on for a particular AbstractHsDevice Declaration C# Visual Basic bool IsFlagOnRef(int devOrFeatRef, EMiscFlag miscFlag) Function IsFlagOnRef(devOrFeatRef As Integer, miscFlag As EMiscFlag) As Boolean Parameters Type Name Description System.Int32 devOrFeatRef The Ref of the AbstractHsDevice to read EMiscFlag miscFlag The EMiscFlag to read Returns Type Description System.Boolean TRUE if the AbstractHsDevice found contains the specified EMiscFlag , FALSE if it doesn't View Source IsLicensed() Determine if the HomeSeer system is licensed using any license, including a trial Declaration C# Visual Basic bool IsLicensed() Function IsLicensed As Boolean Returns Type Description System.Boolean TRUE if the HomeSeer system is licensed View Source IsLocation1First() Determine if Location1 is used first on devices/features. Declaration C# Visual Basic bool IsLocation1First() Function IsLocation1First As Boolean Returns Type Description System.Boolean TRUE if Location1 is used first, FALSE if Location2 is used first Remarks By default, Location2 is used as the first logical location when organizing devices/features. For this reason, it is important to check which location is marked as the first location before working with locations. View Source IsMediaPlaying(String) This function checks if the media player is currently playing a selection Declaration C# Visual Basic bool IsMediaPlaying(string host) Function IsMediaPlaying(host As String) As Boolean Parameters Type Name Description System.String host Leaving this a null string will apply the command to the first instance HomeSeer finds, otherwise use the hostname of the computer for this command. If more than one instance of the Speaker application is running on \"host\" then you may need to specify the instance as well in the format host:instance. Returns Type Description System.Boolean TRUE if a media selection is currently playing and the sound card is most likely busy, FALSE if a media selection is not playing and the sound is most likely free. View Source IsRefDevice(Int32) Determine if the AbstractHsDevice with the specified Ref is a HsDevice or a HsFeature of a device Declaration C# Visual Basic bool IsRefDevice(int devOrFeatRef) Function IsRefDevice(devOrFeatRef As Integer) As Boolean Parameters Type Name Description System.Int32 devOrFeatRef The Ref of the AbstractHsDevice to read Returns Type Description System.Boolean TRUE if the AbstractHsDevice found is a HsDevice , FALSE if it is a HsFeature View Source IsRegistered() Determine if the HomeSeer system is registered using a paid license Declaration C# Visual Basic bool IsRegistered() Function IsRegistered As Boolean Returns Type Description System.Boolean TRUE if the HomeSeer system is registered with a paid license View Source IsScriptRunning(String) This function indicates if a specified script is currently running. Declaration C# Visual Basic bool IsScriptRunning(string scr) Function IsScriptRunning(scr As String) As Boolean Parameters Type Name Description System.String scr Filename of the script to check. Returns Type Description System.Boolean TRUE if the specified script is currently running and FALSE if it doesn't. View Source IsSpeakerBusy(String) This function can let you know if a specific speaker client (host or host:instance) is currently busy speaking or playing WAV audio. Declaration C# Visual Basic bool IsSpeakerBusy(string host) Function IsSpeakerBusy(host As String) As Boolean Parameters Type Name Description System.String host Leaving this a null string will return the busy status for the first instance HomeSeer finds, otherwise use the hostname of the computer you are interested in determining the busy status of. If more than one instance of the Speaker application is running on \"host\" then you may need to specify the instance as well in the format host:instance. Returns Type Description System.Boolean TRUE indicates that the speaker application instance is busy View Source LegacyPluginFunction(String, String, String, Object[]) Execute a specific function declared within a plugin installed on the HomeSeer system. This calls PluginFunction(String, Object[]) on the target plugin. Declaration C# Visual Basic object LegacyPluginFunction(string plugName, string plugInstance, string procName, object[] params) Function LegacyPluginFunction(plugName As String, plugInstance As String, procName As String, params As Object()) As Object Parameters Type Name Description System.String plugName The Name of the plugin that owns the function System.String plugInstance The instance name of the plugin that owns the function System.String procName The name of the function System.Object [] params An array of parameters to pass to the function being called Returns Type Description System.Object An object that contains the return value from the function called. You are on your own when it comes to casting this to the right type. Remarks This is useful for interacting with Legacy plugins that used a name-instance pair for identification instead of a unique ID. You should use PluginFunction(String, String, Object[]) if you are trying to interface with HS4 plugins. Exceptions Type Condition System.ArgumentNullException Thrown when either the plugName or procName parameters are null or whitespace System.AggregateException Thrown when there was an error trying to execute the function. Check the enclosed exception for details. View Source LegacyPluginPropertyGet(String, String, String) Get a specific property declared within a plugin installed on the HomeSeer system. This calls PluginPropertyGet(String) on the target plugin. Declaration C# Visual Basic object LegacyPluginPropertyGet(string plugName, string plugInstance, string propName) Function LegacyPluginPropertyGet(plugName As String, plugInstance As String, propName As String) As Object Parameters Type Name Description System.String plugName The Name of the plugin that owns the property System.String plugInstance The instance name of the plugin that owns the property System.String propName The exact name of the property Returns Type Description System.Object An object representing the value of the target property Remarks This is useful for interacting with Legacy plugins that used a name-instance pair for identification instead of a unique ID. You should use PluginPropertyGet(String, String) if you are trying to interface with HS4 plugins. View Source LegacyPluginPropertySet(String, String, String, Object) Set a specific property declared within a plugin installed on the HomeSeer system. This calls PluginPropertySet(String, Object) on the target plugin Declaration C# Visual Basic void LegacyPluginPropertySet(string plugName, string plugInstance, string propName, object propValue) Sub LegacyPluginPropertySet(plugName As String, plugInstance As String, propName As String, propValue As Object) Parameters Type Name Description System.String plugName The Name of the plugin that owns the property System.String plugInstance The instance name of the plugin that owns the property System.String propName The exact name of the property System.Object propValue The value of the property to set. Its type must exactly match the type defined in the plugin. Remarks This is useful for interacting with Legacy plugins that used a name-instance pair for identification instead of a unique ID. You should use PluginPropertySet(String, String, Object) if you are trying to interface with HS4 plugins. View Source PlayWavFile(String, String, Boolean) Plays audio from passed file to a specific speaker client Declaration C# Visual Basic void PlayWavFile(string FileName, string Host, bool Wait) Sub PlayWavFile(FileName As String, Host As String, Wait As Boolean) Parameters Type Name Description System.String FileName The filename can be the full path to the file, or just the name of file that is located in one of the following folders in the HomeSeer root directory: wave/Mdia/scripts System.String Host The speaker host to speak to in the format host:instance System.Boolean Wait If True, this function will not return until speaking has finished. If False, the function returns immediately and the speaking is queued View Source PluginFunction(String, String, Object[]) Execute a specific function declared within a plugin installed on the HomeSeer system. This calls PluginFunction(String, Object[]) on the target plugin. Declaration C# Visual Basic object PluginFunction(string pluginId, string procName, object[] params) Function PluginFunction(pluginId As String, procName As String, params As Object()) As Object Parameters Type Name Description System.String pluginId The Id of the plugin that owns the function System.String procName The name of the function System.Object [] params An array of parameters to pass to the function being called Returns Type Description System.Object An object that contains the return value from the function called. You are on your own when it comes to casting this to the right type. Exceptions Type Condition System.ArgumentNullException Thrown when either the pluginId or procName parameters are null or whitespace System.Collections.Generic.KeyNotFoundException Thrown when a plugin with the specified ID is not found in the list of installed plugins System.AggregateException Thrown when there was an error trying to execute the function. Check the enclosed exception for details. View Source PluginPropertyGet(String, String) Get a specific property declared within a plugin installed on the HomeSeer system. This calls PluginPropertyGet(String) on the target plugin. Declaration C# Visual Basic object PluginPropertyGet(string plugId, string propName) Function PluginPropertyGet(plugId As String, propName As String) As Object Parameters Type Name Description System.String plugId The Id of the plugin that owns the property System.String propName The exact name of the property Returns Type Description System.Object An object representing the value of the target property View Source PluginPropertySet(String, String, Object) Set a specific property declared within a plugin installed on the HomeSeer system. This calls PluginPropertySet(String, Object) on the target plugin Declaration C# Visual Basic void PluginPropertySet(string plugId, string propName, object propValue) Sub PluginPropertySet(plugId As String, propName As String, propValue As Object) Parameters Type Name Description System.String plugId The Id of the plugin that owns the property System.String propName The exact name of the property System.Object propValue The value of the property to set. Its type must exactly match the type defined in the plugin. View Source RaiseGenericEventCB(String, Object[], String) When an application or plug-in registers to receive specific types of generic HSEvent callbacks, this procedure is used to raise those callbacks and send information to that application. See RegisterGenericEventCB , UnRegisterGenericEventCB ,and HSEvent information for more details. Declaration C# Visual Basic void RaiseGenericEventCB(string genericType, object[] parms, string pluginId) Sub RaiseGenericEventCB(genericType As String, parms As Object(), pluginId As String) Parameters Type Name Description System.String genericType This is the generic type name that was used when the receiving plug-in or application called RegisterGenericEventCB. If you know that the plug-in or application that you wish to raise the generic event with used an asterisk as the Generic Type, then you can use any text here as that plug-in will receive all generic event callbacks. System.Object [] parms These are parameters that you wish to be passed to the receiving application. As an array of objects, it can contain strings, integers, other objects, etc. System.String pluginId The ID of the plugin Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source RegisterDeviceIncPage(String, String, String) Register a page as the device inclusion process guide for this plugin. There can only be one device inclusion process for each plugin. The page that is tagged as the device inclusion process will be displayed first in the list of features for the plugin and be shown in the list of devices users can add. Declaration C# Visual Basic void RegisterDeviceIncPage(string pluginId, string pageFilename, string linkText) Sub RegisterDeviceIncPage(pluginId As String, pageFilename As String, linkText As String) Parameters Type Name Description System.String pluginId The ID of the plugin System.String pageFilename The filename of the page, ending with .html System.String linkText The text that appears in the navigation menu View Source RegisterEventCB(Constants.HSEvent, String) Call this function when your plugin initializes to notify HomeSeer that you want to be called when a specific event happens. The normal use for this is to be notified when a device changes value or it's displayed string changes. You will be notified about any device change, not just changes to your own devices. However, if your device is controlled and your SetIOMulti() call is made, after you call back with hs.SetDeviceValueByRef you will get an HSEvent notifying you about the value change. Since the change is to your device, this notification should be ignored. When an event is detected that has beenn registered by your plug-in, call is made to the HSEvent function in your plug-in. You can then handle the event. See HSEvent for more information and an example. Declaration C# Visual Basic void RegisterEventCB(Constants.HSEvent evType, string pluginId) Sub RegisterEventCB(evType As Constants.HSEvent, pluginId As String) Parameters Type Name Description Constants.HSEvent evType The type of event to register a callback for System.String pluginId The ID of the plugin that should be called Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source RegisterFeaturePage(String, String, String) Register a feature page to create a link to it in the navigation menu in HomeSeer. The PluginFilename must end with .html and not include the enclosing folder name. The page must exist in the HomeSeer html folder as: PluginID/PluginFilename Declaration C# Visual Basic void RegisterFeaturePage(string pluginId, string pageFilename, string linkText) Sub RegisterFeaturePage(pluginId As String, pageFilename As String, linkText As String) Parameters Type Name Description System.String pluginId The ID of the plugin System.String pageFilename The filename of the page, ending with .html System.String linkText The text that appears in the navigation menu View Source RegisterGenericEventCB(String, String) HomeSeer has the ability to raise events in applications and plug-ins when one of a list of specific events in HomeSeer occurs (See RegisterEventCB). RegisterGenericEventCB allows an application or plug-in writer the opportunity to have custom events raised and to enable other applications and plug-ins to receive those callbacks. To remove the callback script, call UnRegisterGenericEventCB. Declaration C# Visual Basic void RegisterGenericEventCB(string genericType, string pluginId) Sub RegisterGenericEventCB(genericType As String, pluginId As String) Parameters Type Name Description System.String genericType This is a string that identifies the callback. For example, a type of \"MyPlugEvent\" would mean that calls to RaiseGenericEventCB using something other than \"MyPlugEvent\" would be ignored. This string should be unique, and should be provided to all applications wishing to register to receive these callbacks. A special value of a single asterisk (*) can be used to indicate that you wish to receive ALL generic type callbacks from other plug-ins/applications. System.String pluginId The ID of the plugin to call Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source RegisterPlugin(String, String) Register a new plugin with HomeSeer This will add the specified ID/filename pair to HomeSeer's list of plugins to check when it runs through the plugin initialization process. Declaration C# Visual Basic bool RegisterPlugin(string pluginId, string pluginName) Function RegisterPlugin(pluginId As String, pluginName As String) As Boolean Parameters Type Name Description System.String pluginId The ID of the plugin to register System.String pluginName The name of the plugin to register Returns Type Description System.Boolean TRUE if the plugin was registered successfully; FALSE if there was a problem with registration View Source RegisterProxySpeakPlug(String) Register your plug-in as a Speak Proxy plug-in. After this registration, whenever a Speak command is issued in HomeSeer, your plug-in's SpeakIn procedure will be called instead. When your plug-in wishes to have HomeSeer actually speak something, it uses SpeakProxy instead of Speak. If you no longer wish to proxy Speak commands in your plug-in, or when your plug-in has its Shutdown procedure called, use UnRegisterProxySpeakPlug to remove the registration as a speak proxy. Declaration C# Visual Basic void RegisterProxySpeakPlug(string pluginId) Sub RegisterProxySpeakPlug(pluginId As String) Parameters Type Name Description System.String pluginId The Id of your plugin View Source RemoveRefFromCategory(String, Int32) Remove a ref from a category Declaration C# Visual Basic List<int> RemoveRefFromCategory(string id, int devRef) Function RemoveRefFromCategory(id As String, devRef As Integer) As List(Of Integer) Parameters Type Name Description System.String id The ID of the category System.Int32 devRef The ref to remove from the category Returns Type Description System.Collections.Generic.List < System.Int32 > The current list of refs on the category after removing the one specified Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown if a category with that ID isn't found View Source RemoveRefsFromCategory(String, List<Int32>) Remove a list of refs from a category Declaration C# Visual Basic List<int> RemoveRefsFromCategory(string id, List<int> devRefs) Function RemoveRefsFromCategory(id As String, devRefs As List(Of Integer)) As List(Of Integer) Parameters Type Name Description System.String id The ID of the category System.Collections.Generic.List < System.Int32 > devRefs The refs to remove from the category Returns Type Description System.Collections.Generic.List < System.Int32 > The current list of refs on the category after removing the ones specified Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown if a category with that ID isn't found View Source ReplaceVariables(String) HomeSeer supports the use of replacement variables, which is the use of special tags to indicate where HomeSeer should replace the tag with text information. A full list of replacement variables is listed in HomeSeer's help file. Declaration C# Visual Basic string ReplaceVariables(string strIn) Function ReplaceVariables(strIn As String) As String Parameters Type Name Description System.String strIn A string with the replacement variables Returns Type Description System.String A string with the replacement variables removed with the indicated values put in their place View Source RestartSystem() Shutdown and restart the HS system. This restarts the hardware Declaration C# Visual Basic void RestartSystem() Sub RestartSystem View Source RunScript(String, Boolean, Boolean) Run a script file Declaration C# Visual Basic object RunScript(string scr, bool Wait, bool SingleInstance) Function RunScript(scr As String, Wait As Boolean, SingleInstance As Boolean) As Object Parameters Type Name Description System.String scr Filename of the script to run. Script must be located in the scripts folder. System.Boolean Wait If True, function does not return until script finishes, if false, the script is run in the background. System.Boolean SingleInstance If true, the script will not run if it is already running. If false, multiple copies of the same script can run. Returns Type Description System.Object View Source RunScriptFunc(String, String, Object, Boolean, Boolean) Run a script file calling the given function in the file Declaration C# Visual Basic object RunScriptFunc(string scr, string func, object param, bool Wait, bool SingleInstance) Function RunScriptFunc(scr As String, func As String, param As Object, Wait As Boolean, SingleInstance As Boolean) As Object Parameters Type Name Description System.String scr Filename of the script to run. Script must be located in the scripts folder. System.String func The name of the function to run. Normally the function \"Main\" is run if no function is specified. System.Object param The parameter(s) to be passed to the function. This is an object and can be a single parameter such as a string, or multiple parameters in an array System.Boolean Wait If True, function does not return until script finishes, if false, the script is run in the background. System.Boolean SingleInstance If true, the script will not run if it is already running. If false, multiple copies of the same script can run. Returns Type Description System.Object View Source SaveImageFile(Byte[], String, Boolean) Save the specified image, as a byte array, to file in the HomeSeer html images directory Declaration C# Visual Basic bool SaveImageFile(byte[] imageBytes, string destinationFile, bool overwriteExistingFile) Function SaveImageFile(imageBytes As Byte(), destinationFile As String, overwriteExistingFile As Boolean) As Boolean Parameters Type Name Description System.Byte [] imageBytes A byte array of the image to save System.String destinationFile The path of the image following \"\\html\\images" System.Boolean overwriteExistingFile TRUE to overwrite any existing file, FALSE to not Returns Type Description System.Boolean TRUE if the file was saved successfully, FALSE if there was a problem Examples The following example shows how to download an image from a URL and save the bytes to file from the HSPI class. var url = \"http://homeseer.com/images/HS4/hs4-64.png\"; var webClient = new WebClient(); var imageBytes = webClient.DownloadData(url); var filePath = $\"{Id}\\\\{Path.GetFileName(url)}\"; if (!HomeSeerSystem.SaveImageFile(imageBytes, filePath, true)) { Console.WriteLine($\"Error saving {url} to {filePath}\"); } The following example shows how to convert an image to bytes and save them from the HSPI class. var myImage = System.Drawing.Image.FromFile(\"sampleImage.png\"); var imageBytes = new byte[0]; using (var ms = new MemoryStream()) { myImage.Save(ms, myImage.RawFormat); imageBytes = ms.toArray(); } var filePath = $\"{Id}\\\\sampleImage.png\"; if (!HomeSeerSystem.SaveImageFile(imageBytes, filePath, true)) { Console.WriteLine($\"Error saving sampleImage.png to {filePath}\"); } See Also DeleteImageFile(String) View Source SaveINISetting(String, String, String, String) Save the new value of a setting Declaration C# Visual Basic void SaveINISetting(string sectionName, string key, string value, string fileName) Sub SaveINISetting(sectionName As String, key As String, value As String, fileName As String) Parameters Type Name Description System.String sectionName The name of the section the setting is saved to System.String key The key of the setting System.String value The value to save System.String fileName The name of the INI file to save the setting to View Source SaveVar(String, Object) Save the global variable contained in the obj parameter. The parameter may be any variable type such as a string or integer, or it may be a reference to an object created with CreateObject Declaration C# Visual Basic string SaveVar(string name, object obj) Function SaveVar(name As String, obj As Object) As String Parameters Type Name Description System.String name The name of the global variable System.Object obj The object to be saved Returns Type Description System.String An empty string no error occured, or an error string if one did occur. View Source SendControlForFeatureByString(Int32, Double, String) Send a control request through HomeSeer to the SetIOMulti(List<ControlEvent>) implementation for the Interface that owns the device. This is different than SendControlForFeatureByValue(Int32, Double) because the value that describes the desired control outcome is encoded into a string and cannot be described by a double. If you own the device being controlled, you should be calling UpdateFeatureValueByRef(Int32, Double) , UpdateFeatureValueStringByRef(Int32, String) , or UpdatePropertyByRef(Int32, EProperty, Object) respectively. Declaration C# Visual Basic bool SendControlForFeatureByString(int devOrFeatRef, double controlValue, string controlString) Function SendControlForFeatureByString(devOrFeatRef As Integer, controlValue As Double, controlString As String) As Boolean Parameters Type Name Description System.Int32 devOrFeatRef The Ref of the device or feature to control. You should only be pointing at HsDevice instead of its HsFeature for legacy devices. System.Double controlValue The value corresponding with the TargetValue or TargetRange of the StatusControl to select and include in the ControlEvent being sent to the owning plugin. System.String controlString The desired value to send to the control for processing. This is passed to ControlString Returns Type Description System.Boolean True if the control event succeeded, False if an error was reported Remarks This is the same as the legacy method CAPIControlHandler(CAPIControl) Most simple features use a single value within a range of decimal numbers to control their state. These situations can easily be hardcoded as StatusControl s allowing HomeSeer to automatically handle processing control requests tied to these values. IE A dimmable light uses a value of 0-100 to determine what state it is in. This usually requires 3 StatusControl s: one for off (0), one for a variable on state (1-99), and one for full brightness (100) This does not work well for values that cannot be described by a range of decimal numbers or require more than a handful of StatusControl s. When a more complex data value is required to describe the desired state to set the feature to, a string is used. IE the color of a light uses a value from 0-16777216. That requires 16777216 different StatusControl s. It is more efficient to send the raw value to the handling plugin for processing. View Source SendControlForFeatureByValue(Int32, Double) Send a control request through HomeSeer to the SetIOMulti(List<ControlEvent>) implementation for the Interface that owns the device. If you own the device being controlled, you should be calling UpdateFeatureValueByRef(Int32, Double) , UpdateFeatureValueStringByRef(Int32, String) , or UpdatePropertyByRef(Int32, EProperty, Object) respectively. Declaration C# Visual Basic bool SendControlForFeatureByValue(int devOrFeatRef, double value) Function SendControlForFeatureByValue(devOrFeatRef As Integer, value As Double) As Boolean Parameters Type Name Description System.Int32 devOrFeatRef The Ref of the device or feature to control. You should only be pointing at HsDevice instead of its HsFeature for legacy devices. System.Double value The value corresponding with the TargetValue or TargetRange to send a control event for Returns Type Description System.Boolean True if the control event succeeded, False if an error was reported Remarks This is the same as the legacy method CAPIControlHandler(CAPIControl) View Source SendEmail(String, String, String, String, String, String, String) Send an Email message Declaration C# Visual Basic void SendEmail(string to, string from, string cc, string bcc, string subject, string message, string attach) Sub SendEmail(to As String, from As String, cc As String, bcc As String, subject As String, message As String, attach As String) Parameters Type Name Description System.String to The address you are sending the email to System.String from The adress you are sending from. Note that some ISPs will not allow you to put just anything in this field. You may be required to put your real E-mail address here. If you are using MAPI to handle your E-mail, MAPI will enter your E-mail address that is associated with your default E-mail account. In that case, this field will be ignored. System.String cc The CC address System.String bcc The BCC address System.String subject The subject of the email System.String message The body of the email System.String attach The abosulte path to the file to be attached to the email. View Source SetImageForCategoryById(String, String) Set the image path for a category Declaration C# Visual Basic void SetImageForCategoryById(string id, string image) Sub SetImageForCategoryById(id As String, image As String) Parameters Type Name Description System.String id The ID of the category System.String image The path to the image for the category. Use /html/images/Categories/ Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown if a category with that ID isn't found View Source SetNameForCategoryById(String, String) Set the name for a category Declaration C# Visual Basic void SetNameForCategoryById(string id, string name) Sub SetNameForCategoryById(id As String, name As String) Parameters Type Name Description System.String id The ID of the category System.String name The new name for the category Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown if a category with that ID isn't found View Source SetRefsForCategoryById(String, List<Int32>) Set the list of refs for a category Declaration C# Visual Basic void SetRefsForCategoryById(string id, List<int> devRefs) Sub SetRefsForCategoryById(id As String, devRefs As List(Of Integer)) Parameters Type Name Description System.String id The ID of the category System.Collections.Generic.List < System.Int32 > devRefs The new list of refs for the category Exceptions Type Condition System.Collections.Generic.KeyNotFoundException Thrown if a category with that ID isn't found View Source SetVolume(Int32, String) Set the volume on a speaker client Declaration C# Visual Basic void SetVolume(int level, string Host) Sub SetVolume(level As Integer, Host As String) Parameters Type Name Description System.Int32 level Volume level in the range of 0-100 System.String Host The speaker host to speak to in the format host:instance View Source ShutDown() Shutdown the HS system Declaration C# Visual Basic void ShutDown() Sub ShutDown View Source Speak(Int32, String, Boolean, String) This function speaks some text Declaration C# Visual Basic void Speak(int speechDevice, string spokenText, bool wait, string host = \"\") Sub Speak(speechDevice As Integer, spokenText As String, wait As Boolean, host As String = \"\") Parameters Type Name Description System.Int32 speechDevice This is the device that is to be used for the speaking. In older versions of HomeSeer, this value was used to indicate the sound card to use, and if it was over 100, then it indicated that it was speaking for HomeSeer Phone (device - 100 = phone line), or the WAV audio device to use. Although this is still used for HomeSeer Phone, speaks for HomeSeer phone are never proxied and so values >= 100 should never been seen in the device parameter. System.String spokenText This is the text to be spoken, or if it is a WAV file to be played, then the characters \":" will be found starting at position 2 of the string as playing a WAV file with the speak command in HomeSeer REQUIRES a fully qualified path and filename of the WAV file to play. System.Boolean wait This parameter tells HomeSeer whether to continue processing commands immediately or to wait until the speak command is finished. System.String host This is a list of host:instances to speak or play the WAV file on. An empty string or a single asterisk (*) indicates all connected speaker clients on all hosts. Remarks PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. View Source SpeakProxy(Int32, String, Boolean, String) This procedure is used to cause HomeSeer to speak something when a speak proxy is registered and active. Since speak commands when a speak proxy plug-in is registered are trapped and passed to the SpeakIn procedure of the speak proxy plug-in, this command is used when the speak proxy plug-in is ready to do the real speaking. Declaration C# Visual Basic void SpeakProxy(int speechDevice, string spokenText, bool wait, string host = \"\") Sub SpeakProxy(speechDevice As Integer, spokenText As String, wait As Boolean, host As String = \"\") Parameters Type Name Description System.Int32 speechDevice This is the device that is to be used for the speaking. In older versions of HomeSeer, this value was used to indicate the sound card to use, and if it was over 100, then it indicated that it was speaking for HomeSeer Phone (device - 100 = phone line), or the WAV audio device to use. Although this is still used for HomeSeer Phone, speaks for HomeSeer phone are never proxied and so values >= 100 should never been seen in the device parameter. Pass the device parameter unchanged to SpeakProxy. System.String spokenText This is the text to be spoken, or if it is a WAV file to be played, then the characters \":" will be found starting at position 2 of the string as playing a WAV file with the speak command in HomeSeer REQUIRES a fully qualified path and filename of the WAV file to play. System.Boolean wait This parameter tells HomeSeer whether to continue processing commands immediately or to wait until the speak command is finished - pass this parameter unchanged to SpeakProxy. System.String host This is a list of host:instances to speak or play the WAV file on. An empty string or a single asterisk (*) indicates all connected speaker clients on all hosts. Normally this parameter is passed to SpeakProxy unchanged. Remarks PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. View Source SpeakToFile(String, String, String) Sends TTS to a file using the system voice Declaration C# Visual Basic bool SpeakToFile(string Text, string Voice, string FileName) Function SpeakToFile(Text As String, Voice As String, FileName As String) As Boolean Parameters Type Name Description System.String Text The text to speak System.String Voice The voice to use, SAPI only on Windows System.String FileName Filename to send the speech to Returns Type Description System.Boolean Remarks PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. View Source TriggerEventByRef(Int32) Run an event causing it to execute its actions Declaration C# Visual Basic bool TriggerEventByRef(int eventRef) Function TriggerEventByRef(eventRef As Integer) As Boolean Parameters Type Name Description System.Int32 eventRef The Ref of the event Returns Type Description System.Boolean TRUE if the event run started successfully. This does not indicate that the actions succeeded. Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source TriggerFire(String, TrigActInfo) This function is a callback function and is called when a plugin detects that a trigger condition is true. Declaration C# Visual Basic void TriggerFire(string pluginId, TrigActInfo trigInfo) Sub TriggerFire(pluginId As String, trigInfo As TrigActInfo) Parameters Type Name Description System.String pluginId The ID of the plugin If you are targeting a trigger owned by a legacy plugin, use the IPlugInAPI.Name of the plugin for pluginId TrigActInfo trigInfo The data of the trigger to fire Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source TriggerMatches(String, Int32, Int32) This function returns an array of TrigActInfo which matches the given plug-in, trigger number, and sub-trigger number provided. GetTriggers returns all triggers, so use TriggerMatches when you only want to know if there are triggers in events for a specific plug-in's trigger. Declaration C# Visual Basic TrigActInfo[] TriggerMatches(string pluginId, int trigId, int subTrigId) Function TriggerMatches(pluginId As String, trigId As Integer, subTrigId As Integer) As TrigActInfo() Parameters Type Name Description System.String pluginId The ID of the plugin If you are targeting triggers owned by a legacy plugin, use the IPlugInAPI.Name of the plugin for pluginId System.Int32 trigId The ID of the trigger System.Int32 subTrigId The ID of the subtrigger Returns Type Description TrigActInfo [] An array of TrigActInfo which matches the given plug-in, trigger number, and sub-trigger number provided Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source UnregisterDeviceIncPage(String) Unregister the device inclusion page for this plugin. Declaration C# Visual Basic void UnregisterDeviceIncPage(string pluginId) Sub UnregisterDeviceIncPage(pluginId As String) Parameters Type Name Description System.String pluginId The ID of the plugin View Source UnregisterFeaturePage(String, String) Unregister a feature page to remove any navigation links to the page. Declaration C# Visual Basic void UnregisterFeaturePage(string pluginId, string pageFilename) Sub UnregisterFeaturePage(pluginId As String, pageFilename As String) Parameters Type Name Description System.String pluginId The ID of the plugin System.String pageFilename The filename of the page, ending with .html. This must be exactly the same as the filename used to register the page View Source UnRegisterGenericEventCB(String, String) This will remove an application or plug-in from the list that should receive generic event callbacks for the type indicated (See RegisterGenericEventCB). Declaration C# Visual Basic void UnRegisterGenericEventCB(string genericType, string pluginId) Sub UnRegisterGenericEventCB(genericType As String, pluginId As String) Parameters Type Name Description System.String genericType This is the generic type string that was used to register the callback with RegisterGenericEventCB. System.String pluginId The ID of the plugin remove from the callback listen Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source UnRegisterProxySpeakPlug(String) Unregister a plug-in as a Speak proxy that was previously registered using RegisterProxySpeakPlug. Declaration C# Visual Basic void UnRegisterProxySpeakPlug(string pluginId) Sub UnRegisterProxySpeakPlug(pluginId As String) Parameters Type Name Description System.String pluginId The Id of your plugin View Source UpdateDeviceByRef(Int32, Dictionary<EProperty, Object>) Update some properties on a device The collection of changes passed as parameter is usually Changes Declaration C# Visual Basic HsDevice UpdateDeviceByRef(int devRef, Dictionary<EProperty, object> changes) Function UpdateDeviceByRef(devRef As Integer, changes As Dictionary(Of EProperty, Object)) As HsDevice Parameters Type Name Description System.Int32 devRef The Ref of the HsDevice to update System.Collections.Generic.Dictionary < EProperty , System.Object > changes A collection of EProperty with their new values Returns Type Description HsDevice The updated HsDevice View Source UpdateFeatureByRef(Int32, Dictionary<EProperty, Object>) Update some properties on a feature The collection of changes passed as parameter is usually Changes Declaration C# Visual Basic HsFeature UpdateFeatureByRef(int featRef, Dictionary<EProperty, object> changes) Function UpdateFeatureByRef(featRef As Integer, changes As Dictionary(Of EProperty, Object)) As HsFeature Parameters Type Name Description System.Int32 featRef The Ref of the HsFeature to update System.Collections.Generic.Dictionary < EProperty , System.Object > changes A collection of EProperty with their new values Returns Type Description HsFeature The updated HsFeature Remarks Do not use this method to update StatusControls or StatusGraphics . Instead, use AddStatusControlToFeature(Int32, StatusControl) , DeleteStatusControlByValue(Int32, Double) , ClearStatusControlsByRef(Int32) , AddStatusGraphicToFeature(Int32, StatusGraphic) , DeleteStatusGraphicByValue(Int32, Double) , ClearStatusGraphicsByRef(Int32) View Source UpdateFeatureValueByRef(Int32, Double) Set the value on a feature and trigger HomeSeer to process the update to update the status accordingly. To update the value without triggering HomeSeer to process the update, call UpdatePropertyByRef(Int32, EProperty, Object) This does not fire a control event to the owning Interface . Use SendControlForFeatureByValue(Int32, Double) to control a device you do not own. Declaration C# Visual Basic bool UpdateFeatureValueByRef(int featRef, double value) Function UpdateFeatureValueByRef(featRef As Integer, value As Double) As Boolean Parameters Type Name Description System.Int32 featRef The unique reference of the feature to control System.Double value The new value to set on the feature Returns Type Description System.Boolean TRUE if the control sent correctly, FALSE if there was a problem Remarks This is the same as the legacy method SetDeviceValueByRef(Integer, Double, True). View Source UpdateFeatureValueStringByRef(Int32, String) Set the value on a feature by string and trigger HomeSeer to process the update to update the status accordingly This does not fire a control event to the owning Interface . Use SendControlForFeatureByValue(Int32, Double) to control a device you do not own. Declaration C# Visual Basic bool UpdateFeatureValueStringByRef(int featRef, string value) Function UpdateFeatureValueStringByRef(featRef As Integer, value As String) As Boolean Parameters Type Name Description System.Int32 featRef The unique reference of the feature to control System.String value The new value to set on the feature Returns Type Description System.Boolean TRUE if the control sent correctly, FALSE if there was a problem Remarks This is the same as the legacy method SetDeviceString(Integer, String, True) View Source UpdatePlugAction(String, Int32, TrigActInfo) Update the data saved to an event action Declaration C# Visual Basic string UpdatePlugAction(string plugId, int evRef, TrigActInfo actInfo) Function UpdatePlugAction(plugId As String, evRef As Integer, actInfo As TrigActInfo) As String Parameters Type Name Description System.String plugId The ID of the plugin that owns the action If you are targeting an action owned by a legacy plugin, use the IPlugInAPI.Name of the plugin for plugId System.Int32 evRef The Ref of the event TrigActInfo actInfo The data to save to the event action Returns Type Description System.String A message describing the result. Empty if it was successful Remarks PLEASE NOTE: This was ported directly from the legacy HS3 API and has not been fully reviewed to ensure proper compatibility and support through this SDK. This may undergo significant change in the near future. Please use with caution. View Source UpdatePlugTrigger(String, Int32, TrigActInfo) Update an existing plugin trigger in an event Declaration C# Visual Basic string UpdatePlugTrigger(string plugId, int evRef, TrigActInfo trigInfo) Function UpdatePlugTrigger(plugId As String, evRef As Integer, trigInfo As TrigActInfo) As String Parameters Type Name Description System.String plugId The ID of the plugin that owns the trigger If you are targeting a trigger owned by a legacy plugin, use the IPlugInAPI.Name of the plugin for plugId System.Int32 evRef Reference # of the event to modify TrigActInfo trigInfo The TrigActInfo that is to replace the existing trigger. The UID in this structure must match the UID in the original trigger Returns Type Description System.String Returns an empty string on success or an error message View Source UpdatePropertyByRef(Int32, EProperty, Object) Update one property on a device or a feature When used with Value , this is the same as the legacy method SetDeviceValueByRef(Integer, Double, False). This does not fire a control event to the owning Interface . Use SendControlForFeatureByValue(Int32, Double) to control a device you do not own. Declaration C# Visual Basic void UpdatePropertyByRef(int devOrFeatRef, EProperty property, object value) Sub UpdatePropertyByRef(devOrFeatRef As Integer, property As EProperty, value As Object) Parameters Type Name Description System.Int32 devOrFeatRef The Ref of the AbstractHsDevice to update EProperty property The EProperty to update System.Object value The new value for this property Remarks Do not use this method to update StatusControls or StatusGraphics . Instead, use AddStatusControlToFeature(Int32, StatusControl) , DeleteStatusControlByValue(Int32, Double) , ClearStatusControlsByRef(Int32) , AddStatusGraphicToFeature(Int32, StatusGraphic) , DeleteStatusGraphicByValue(Int32, Double) , ClearStatusGraphicsByRef(Int32) View Source Version() Get the current version of HomeSeer that is running Declaration C# Visual Basic string Version() Function Version As String Returns Type Description System.String The version string for HomeSeer in the format of MAJOR.MINOR.PATCH.BUILD View Source WindowsLogoffSystem() Logs off the active user and closes all processes running under the user Declaration C# Visual Basic void WindowsLogoffSystem() Sub WindowsLogoffSystem View Source WindowsRebootSystem() Shut down HS and reboot the hardware system Declaration C# Visual Basic void WindowsRebootSystem() Sub WindowsRebootSystem View Source WindowsShutdownSystem() Shut down HS and shutdown the hardware system Declaration C# Visual Basic void WindowsShutdownSystem() Sub WindowsShutdownSystem View Source WriteLog(ELogType, String, String, String) Write a message to the HomeSeer logs Declaration C# Visual Basic void WriteLog(ELogType logType, string message, string pluginName, string color = \"\") Sub WriteLog(logType As ELogType, message As String, pluginName As String, color As String = \"\") Parameters Type Name Description ELogType logType The ELogType to write System.String message The message to write to the log System.String pluginName The name of your plugin, used to mark the source of the log message System.String color The color code to use. NOTE: Legacy HS3 API implementation"
},
"api/HomeSeer.PluginSdk.IPlugin.html": {
"href": "api/HomeSeer.PluginSdk.IPlugin.html",
"title": "Interface IPlugin | HomeSeer PluginSdk Docs",
"keywords": "Interface IPlugin C# Visual Basic public interface IPlugin Public Interface IPlugin Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll The core plugin interface used by HomeSeer to interact with third-party plugins. The AbstractPlugin class provides a default implementation of this interface that should be used to develop plugins. Properties View Source AccessLevel Return the access level of this plug-in. Access level is the licensing mode. Use the integer value corresponding to the EAccessLevel for your plugin Declaration C# Visual Basic int AccessLevel { get; } ReadOnly Property AccessLevel As Integer Property Value Type Description System.Int32 View Source ActionCount The number of unique event actions the plugin supports Declaration C# Visual Basic int ActionCount { get; } ReadOnly Property ActionCount As Integer Property Value Type Description System.Int32 View Source HasSettings Whether the plugin has settings pages or not. If this is TRUE, you must return valid JUI data in GetJuiSettingsPages() Declaration C# Visual Basic bool HasSettings { get; } ReadOnly Property HasSettings As Boolean Property Value Type Description System.Boolean View Source Id Unique ID for this plugin, needs to be unique for all plugins. Do NOT use special characters or spaces in your plugin ID Declaration C# Visual Basic string Id { get; } ReadOnly Property Id As String Property Value Type Description System.String Remarks The ID is used throughout the HomeSeer platform to target this plugin specifically via URL or internal code. It is recommended to use the name of your plugin, removing special characters and spaces, as the ID to make it easy to match them with one-another. View Source Name The name of the plugin Do NOT use special characters in your plugin name with the exception of \"-\", \".\", and \" \" (space). This is used to identify your plug-in to HomeSeer and your users. Keep the name to 16 characters or less. Declaration C# Visual Basic string Name { get; } ReadOnly Property Name As String Property Value Type Description System.String View Source SupportsConfigDevice Whether this plugin supports a device configuration page for devices created/managed by it TRUE will cause HomeSeer to call GetJuiDeviceConfigPage() for devices this plugin manages. FALSE means HomeSeer will not call GetJuiDeviceConfigPage() for any devices Declaration C# Visual Basic bool SupportsConfigDevice { get; } ReadOnly Property SupportsConfigDevice As Boolean Property Value Type Description System.Boolean View Source SupportsConfigDeviceAll Whether this plugin supports a device configuration page for all devices TRUE will cause HomeSeer to call GetJuiDeviceConfigPage() for every device. FALSE means HomeSeer will not call GetJuiDeviceConfigPage() for all devices Declaration C# Visual Basic bool SupportsConfigDeviceAll { get; } ReadOnly Property SupportsConfigDeviceAll As Boolean Property Value Type Description System.Boolean View Source SupportsConfigFeature Whether this plugin supports a feature configuration page for features created/managed by it TRUE will cause HomeSeer to call GetJuiDeviceConfigPage() for features this plugin manages. FALSE means HomeSeer will not call GetJuiDeviceConfigPage() for any features Declaration C# Visual Basic bool SupportsConfigFeature { get; } ReadOnly Property SupportsConfigFeature As Boolean Property Value Type Description System.Boolean Remarks Setting this to TRUE allows you to display a unique page for each feature instead of using a single page for the device and all of its features. View Source TriggerCount The number of unique event triggers the plugin supports Declaration C# Visual Basic int TriggerCount { get; } ReadOnly Property TriggerCount As Integer Property Value Type Description System.Int32 Methods View Source ActionBuildUI(TrigActInfo) Called by the HomeSeer system when an event is in edit mode and in need of HTML controls for the user. Declaration C# Visual Basic string ActionBuildUI(TrigActInfo actInfo) Function ActionBuildUI(actInfo As TrigActInfo) As String Parameters Type Name Description TrigActInfo actInfo Object that contains information about the action like current selections. Returns Type Description System.String HTML controls that need to be displayed so the user can select the action parameters. View Source ActionConfigured(TrigActInfo) Called by the HomeSeer system to verify that the configuration is valid and can be saved Declaration C# Visual Basic bool ActionConfigured(TrigActInfo actInfo) Function ActionConfigured(actInfo As TrigActInfo) As Boolean Parameters Type Name Description TrigActInfo actInfo Object describing the action. Returns Type Description System.Boolean TRUE if the given action is configured properly; FALSE if the action shouldn't be saved View Source ActionFormatUI(TrigActInfo) Called by the HomeSeer system when an event action is finished being configured and needs to be displayed in an easy to read format. Declaration C# Visual Basic string ActionFormatUI(TrigActInfo actInfo) Function ActionFormatUI(actInfo As TrigActInfo) As String Parameters Type Name Description TrigActInfo actInfo Object that contains information about the current configuration of the trigger. Returns Type Description System.String HTML representing easy to read text describing the action View Source ActionProcessPostUI(Dictionary<String, String>, TrigActInfo) Called by the HomeSeer system to process selections when a user edits your event actions. Declaration C# Visual Basic EventUpdateReturnData ActionProcessPostUI(Dictionary<string, string> postData, TrigActInfo trigInfoIn) Function ActionProcessPostUI(postData As Dictionary(Of String, String), trigInfoIn As TrigActInfo) As EventUpdateReturnData Parameters Type Name Description System.Collections.Generic.Dictionary < System.String , System.String > postData A collection of name value pairs that include the user's selections. TrigActInfo trigInfoIn Object that contains information about the action. Returns Type Description EventUpdateReturnData Object the holds the parsed information for the action. HomeSeer will save this information for you in the database. View Source ActionReferencesDevice(TrigActInfo, Int32) Called by the HomeSeer system to determine if a specified device is referenced by a certain action. Declaration C# Visual Basic bool ActionReferencesDevice(TrigActInfo actInfo, int devRef) Function ActionReferencesDevice(actInfo As TrigActInfo, devRef As Integer) As Boolean Parameters Type Name Description TrigActInfo actInfo Object describing the action. System.Int32 devRef The reference ID of the device to check Returns Type Description System.Boolean TRUE if the action references the device; FALSE if it does not View Source GetActionNameByNumber(Int32) Return the name of the action given an action number The name of the action will be displayed in the HomeSeer events actions list. Declaration C# Visual Basic string GetActionNameByNumber(int actionNum) Function GetActionNameByNumber(actionNum As Integer) As String Parameters Type Name Description System.Int32 actionNum The number of the action to get the name for Returns Type Description System.String The name of the action associated with the action number View Source GetJuiDeviceConfigPage(Int32) Called by the HomeSeer software to obtain a HS-JUI device or feature configuration page for a specific device or feature Declaration C# Visual Basic string GetJuiDeviceConfigPage(int devOrFeatRef) Function GetJuiDeviceConfigPage(devOrFeatRef As Integer) As String Parameters Type Name Description System.Int32 devOrFeatRef The device or feature reference to get the page for Returns Type Description System.String A JSON serialized Jui.Page View Source GetJuiSettingsPages() Called by the HomeSeer software to obtain a list of settings pages Declaration C# Visual Basic string GetJuiSettingsPages() Function GetJuiSettingsPages As String Returns Type Description System.String A SettingsCollection serialized to a JSON string View Source GetSubTriggerCount(Int32) Returns the number of sub triggers the plugin supports for the specified trigger number Declaration C# Visual Basic int GetSubTriggerCount(int triggerNum) Function GetSubTriggerCount(triggerNum As Integer) As Integer Parameters Type Name Description System.Int32 triggerNum The number of the trigger to check Returns Type Description System.Int32 The number of sub triggers the specified trigger number supports View Source GetSubTriggerNameByNumber(Int32, Int32) The name of the sub trigger with the specified number of the trigger with the specified number Declaration C# Visual Basic string GetSubTriggerNameByNumber(int triggerNum, int subTriggerNum) Function GetSubTriggerNameByNumber(triggerNum As Integer, subTriggerNum As Integer) As String Parameters Type Name Description System.Int32 triggerNum The number of the trigger to check System.Int32 subTriggerNum The number of the sub trigger to check Returns Type Description System.String The name of the sub trigger View Source GetTriggerNameByNumber(Int32) Return the name of the given trigger based on the specified trigger number Declaration C# Visual Basic string GetTriggerNameByNumber(int triggerNum) Function GetTriggerNameByNumber(triggerNum As Integer) As String Parameters Type Name Description System.Int32 triggerNum The trigger number to get the name for Returns Type Description System.String The name of the trigger View Source HandleAction(TrigActInfo) Called by the HomeSeer system when an event is triggered and the plugin needs to carry out a specific action. Declaration C# Visual Basic bool HandleAction(TrigActInfo actInfo) Function HandleAction(actInfo As TrigActInfo) As Boolean Parameters Type Name Description TrigActInfo actInfo Object describing the trigger and action. Returns Type Description System.Boolean TRUE if the action was executed successfully; FALSE if there was an error View Source HasJuiDeviceConfigPage(Int32) Called by HomeSeer Core to determine if a device or feature configuration page is available for a particular device or feature. Only called if SupportsConfigDevice or SupportsConfigFeature or SupportsConfigDeviceAll is set to TRUE. Declaration C# Visual Basic bool HasJuiDeviceConfigPage(int devOrFeatRef) Function HasJuiDeviceConfigPage(devOrFeatRef As Integer) As Boolean Parameters Type Name Description System.Int32 devOrFeatRef The Ref of the device Returns Type Description System.Boolean True if there is a page available, false if not. Returning True will cause HomeSeer Core to call GetJuiDeviceConfigPage(Int32) for the device or feature View Source HsEvent(Constants.HSEvent, Object[]) When you wish to have HomeSeer call back in to your plug-in or application when certain events happen in the system, call the RegisterEventCB procedure and provide it with event you wish to monitor. See RegisterEventCB for more information and an example and event types. The parameters are passed in an array of objects. Each entry in the array is a parameter. The number of entries depends on the type of event and are described below. The event type is always present in the first entry or params(0). Declaration C# Visual Basic void HsEvent(Constants.HSEvent eventType, object[] params) Sub HsEvent(eventType As Constants.HSEvent, params As Object()) Parameters Type Name Description Constants.HSEvent eventType The type of event that has occurred System.Object [] params The data associated with the event View Source InitIO() Called by the HomeSeer system to initialize the plugin. This is the primary entry point for all plugins. Start the plugin and get it ready for use. Declaration C# Visual Basic bool InitIO() Function InitIO As Boolean Returns Type Description System.Boolean TRUE if the plugin started successfully; FALSE if it did not You should opt for throwing an exception that contains a detailed messaged over returning FALSE whenever possible. View Source IsTriggerConfigValid(TrigActInfo) Given a TrigActInfo object, detect if this trigger is configured properly Declaration C# Visual Basic bool IsTriggerConfigValid(TrigActInfo trigInfo) Function IsTriggerConfigValid(trigInfo As TrigActInfo) As Boolean Parameters Type Name Description TrigActInfo trigInfo The trigger info to validate Returns Type Description System.Boolean TRUE if the trigger is configured properly, FALSE otherwise View Source OnStatusCheck() Called by the HomeSeer system to determine the status of the plugin. Declaration C# Visual Basic PluginStatus OnStatusCheck() Function OnStatusCheck As PluginStatus Returns Type Description PluginStatus A PluginStatus object describing the state of the plugin See Also PluginStatus View Source PluginFunction(String, Object[]) Called by the HomeSeer system to run a plugin function by name using reflection Declaration C# Visual Basic object PluginFunction(string procName, object[] params) Function PluginFunction(procName As String, params As Object()) As Object Parameters Type Name Description System.String procName The name of the method to execute System.Object [] params The parameters to execute the method with Returns Type Description System.Object The result of the method execution View Source PluginPropertyGet(String) Called by the HomeSeer system to get the value of a property by name using reflection Declaration C# Visual Basic object PluginPropertyGet(string propName) Function PluginPropertyGet(propName As String) As Object Parameters Type Name Description System.String propName The name of the property Returns Type Description System.Object The value of the property View Source PluginPropertySet(String, Object) Called by the HomeSeer system to set the value of a property by name using reflection Declaration C# Visual Basic void PluginPropertySet(string propName, object value) Sub PluginPropertySet(propName As String, value As Object) Parameters Type Name Description System.String propName The name of the property System.Object value The new value of the property View Source PostBackProc(String, String, String, Int32) Called by the HomeSeer system when a page owned by this plugin receives an HTTP POST request Declaration C# Visual Basic string PostBackProc(string page, string data, string user, int userRights) Function PostBackProc(page As String, data As String, user As String, userRights As Integer) As String Parameters Type Name Description System.String page The page that received the POST request System.String data The data included in the request System.String user The user responsible for initiating the request System.Int32 userRights The user's rights Returns Type Description System.String A string of data that is returned to the requester View Source SaveJuiDeviceConfigPage(String, Int32) Save updated values for a HS-JUI formatted device or feature config page Declaration C# Visual Basic bool SaveJuiDeviceConfigPage(string pageContent, int devOrFeatRef) Function SaveJuiDeviceConfigPage(pageContent As String, devOrFeatRef As Integer) As Boolean Parameters Type Name Description System.String pageContent A JSON serialized Jui.Page describing what has changed about the page System.Int32 devOrFeatRef The reference of the device or feature the config page is for Returns Type Description System.Boolean TRUE if the save was successful; FALSE if it was unsuccessful. An exception should be thrown with details about the error if it was unsuccessful View Source SaveJuiSettingsPages(String) Called by the HomeSeer system when settings changes need to be saved Declaration C# Visual Basic bool SaveJuiSettingsPages(string jsonString) Function SaveJuiSettingsPages(jsonString As String) As Boolean Parameters Type Name Description System.String jsonString A List of Jui.Pages containing views that have changed, serialized as JSON Returns Type Description System.Boolean TRUE if the save was successful; FALSE if it was unsuccessful. An exception should be thrown with details about the error if it was unsuccessful View Source SetIOMulti(List<ControlEvent>) Called by the HomeSeer system when a device that this plugin owns is controlled. A plugin owns a device when its Interface property is set to the plugin ID. Declaration C# Visual Basic void SetIOMulti(List<ControlEvent> controlEvents) Sub SetIOMulti(controlEvents As List(Of ControlEvent)) Parameters Type Name Description System.Collections.Generic.List < ControlEvent > controlEvents A collection of ControlEvent objects, one for each device being controlled View Source ShutdownIO() Called by the HomeSeer system to shutdown the plugin and its operations Declaration C# Visual Basic void ShutdownIO() Sub ShutdownIO View Source SpeakIn(Int32, String, Boolean, String) If your plug-in is registered as a Speak proxy plug-in, then when HomeSeer is asked to speak something. It will pass the speak information to your plug-in using this procedure. When your plug-in is ready to do the actual speaking, it should call SpeakProxy, and pass the information that it got from this procedure to SpeakProxy. It may be necessary or a feature of your plug-in to modify the text being spoken or the host/instance list provided in the host parameter - this is acceptable. Declaration C# Visual Basic void SpeakIn(int speechDevice, string spokenText, bool wait, string host) Sub SpeakIn(speechDevice As Integer, spokenText As String, wait As Boolean, host As String) Parameters Type Name Description System.Int32 speechDevice This is the device that is to be used for the speaking. In older versions of HomeSeer, this value was used to indicate the sound card to use, and if it was over 100, then it indicated that it was speaking for HomeSeer Phone (device - 100 = phone line), or the WAV audio device to use. Although this is still used for HomeSeer Phone, speaks for HomeSeer phone are never proxied and so values >= 100 should never been seen in the device parameter. Pass the device parameter unchanged to SpeakProxy. System.String spokenText This is the text to be spoken, or if it is a WAV file to be played, then the characters \":" will be found starting at position 2 of the string as playing a WAV file with the speak command in HomeSeer REQUIRES a fully qualified path and filename of the WAV file to play. System.Boolean wait This parameter tells HomeSeer whether to continue processing commands immediately or to wait until the speak command is finished - pass this parameter unchanged to SpeakProxy. System.String host This is a list of host:instances to speak or play the WAV file on. An empty string or a single asterisk (*) indicates all connected speaker clients on all hosts. Normally this parameter is passed to SpeakProxy unchanged. Remarks PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. View Source TriggerBuildUI(TrigActInfo) Called by the HomeSeer system when an event is in edit mode and in need of HTML controls for the user. Declaration C# Visual Basic string TriggerBuildUI(TrigActInfo trigInfo) Function TriggerBuildUI(trigInfo As TrigActInfo) As String Parameters Type Name Description TrigActInfo trigInfo Object that contains information about the current configuration of the trigger. Returns Type Description System.String HTML controls that need to be displayed so the user can select the trigger parameters. View Source TriggerCanBeCondition(Int32) Called by HomeSeer to determine if a given trigger can also be used as a condition Declaration C# Visual Basic bool TriggerCanBeCondition(int triggerNum) Function TriggerCanBeCondition(triggerNum As Integer) As Boolean Parameters Type Name Description System.Int32 triggerNum The number of the trigger to check Returns Type Description System.Boolean TRUE if the given trigger can also be used as a condition, for the given trigger number. View Source TriggerFormatUI(TrigActInfo) Called by the HomeSeer system when an event trigger is finished being configured and needs to be displayed in an easy to read format. Declaration C# Visual Basic string TriggerFormatUI(TrigActInfo trigInfo) Function TriggerFormatUI(trigInfo As TrigActInfo) As String Parameters Type Name Description TrigActInfo trigInfo Object that contains information about the current configuration of the trigger. Returns Type Description System.String HTML representing easy to read text describing the trigger View Source TriggerProcessPostUI(Dictionary<String, String>, TrigActInfo) Called by the HomeSeer system to process selections when a user edits your event triggers. Declaration C# Visual Basic EventUpdateReturnData TriggerProcessPostUI(Dictionary<string, string> postData, TrigActInfo trigInfoIn) Function TriggerProcessPostUI(postData As Dictionary(Of String, String), trigInfoIn As TrigActInfo) As EventUpdateReturnData Parameters Type Name Description System.Collections.Generic.Dictionary < System.String , System.String > postData A collection of name value pairs that include the user's selections. TrigActInfo trigInfoIn Object that contains information about the trigger. Returns Type Description EventUpdateReturnData Object the holds the parsed information for the trigger. HomeSeer will save this information for you in the database. View Source TriggerReferencesDeviceOrFeature(TrigActInfo, Int32) Called by the HomeSeer system to determine if a specified device is referenced by a certain trigger. Declaration C# Visual Basic bool TriggerReferencesDeviceOrFeature(TrigActInfo trigInfo, int devOrFeatRef) Function TriggerReferencesDeviceOrFeature(trigInfo As TrigActInfo, devOrFeatRef As Integer) As Boolean Parameters Type Name Description TrigActInfo trigInfo Object describing the trigger. System.Int32 devOrFeatRef The reference ID of the device or feature to check Returns Type Description System.Boolean TRUE if the trigger references the device; FALSE if it does not View Source TriggerTrue(TrigActInfo, Boolean) Called by HomeSeer when a trigger needs to be evaluated as a condition Declaration C# Visual Basic bool TriggerTrue(TrigActInfo trigInfo, bool isCondition = false) Function TriggerTrue(trigInfo As TrigActInfo, isCondition As Boolean = False) As Boolean Parameters Type Name Description TrigActInfo trigInfo Object describing the trigger System.Boolean isCondition TRUE if the trigger represents a condition, FALSE if it is a trigger Returns Type Description System.Boolean TRUE if the conditions are met; FALSE if they are not View Source UpdateStatusNow(Int32) Called by the HomeSeer system when it needs the current status for a device/feature owned by the plugin. This should force the device/feature to update its current status on HomeSeer. Declaration C# Visual Basic EPollResponse UpdateStatusNow(int devOrFeatRef) Function UpdateStatusNow(devOrFeatRef As Integer) As EPollResponse Parameters Type Name Description System.Int32 devOrFeatRef The reference ID of the device/feature to poll Returns Type Description EPollResponse An EPollResponse describing the result of the request"
},
"api/HomeSeer.PluginSdk.Logging.ELogType.html": {
"href": "api/HomeSeer.PluginSdk.Logging.ELogType.html",
"title": "Enum ELogType | HomeSeer PluginSdk Docs",
"keywords": "Enum ELogType C# Visual Basic public enum ELogType Public Enum ELogType Namespace : HomeSeer.PluginSdk.Logging Assembly : PluginSdk.dll Used to categorize log entries in increasing level of severity. Remarks Users are able to filter the HomeSeer log by type based on what kind of information they are looking for. Properly categorizing your log entries will make it easier for users and HomeSeer support staff to troubleshoot any issues with the expected operation of your plugin. Fields Name Description Debug Messages used for debugging the plugin process. Error Critical messages about issues that require user attention and may be interfering with normal operation. The most severe log type. Info Informational messages about the plugin process that require no attention but may be useful for users. Trace Messages typically used for marking where the plugin process is in code. The least severe and most verbose log type. Warning Messages indicating that there may be an issue interfering with the normal operation of the plugin that the user might want to address."
},
"api/HomeSeer.PluginSdk.Logging.html": {
"href": "api/HomeSeer.PluginSdk.Logging.html",
"title": "Namespace HomeSeer.PluginSdk.Logging | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk.Logging Enums ELogType Used to categorize log entries in increasing level of severity."
},
"api/HomeSeer.PluginSdk.PluginStatus.EPluginStatus.html": {
"href": "api/HomeSeer.PluginSdk.PluginStatus.EPluginStatus.html",
"title": "Enum PluginStatus.EPluginStatus | HomeSeer PluginSdk Docs",
"keywords": "Enum PluginStatus.EPluginStatus C# Visual Basic public enum EPluginStatus Public Enum EPluginStatus Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll An Enum representing the current state of a plugin Fields Name Description Critical Something wrong that will prevent operation from being successful. Fatal Something really wrong and the plug-in cannot function. Info Information Ok Everything is fine. Warning Something wrong, but should not affect operation."
},
"api/HomeSeer.PluginSdk.PluginStatus.html": {
"href": "api/HomeSeer.PluginSdk.PluginStatus.html",
"title": "Class PluginStatus | HomeSeer PluginSdk Docs",
"keywords": "Class PluginStatus C# Visual Basic [Obfuscation(Exclude = true, ApplyToMembers = true)] [Serializable] public class PluginStatus <Obfuscation(Exclude:=True, ApplyToMembers:=True)> <Serializable> Public Class PluginStatus Inheritance System.Object PluginStatus Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk Assembly : PluginSdk.dll Represents the current operational state of a HomeSeer plugin. Remarks This is the expected return type when HomeSeer calls a plugin's implementation of OnStatusCheck() Examples public void BeforeReturnStatus() { //Analyze the current state of the plugin //... //The plugin is operating as expected Status = PluginStatus.Ok(); } Constructors View Source PluginStatus(PluginStatus.EPluginStatus, String) Creates a new PluginStatus with the specified PluginStatus.EPluginStatus and status text Declaration C# Visual Basic public PluginStatus(PluginStatus.EPluginStatus status, string statusText) Public Sub New(status As PluginStatus.EPluginStatus, statusText As String) Parameters Type Name Description PluginStatus.EPluginStatus status The PluginStatus.EPluginStatus representing the current state of the plugin System.String statusText A detailed explanation of the status Exceptions Type Condition System.ArgumentNullException Thrown if no status text was supplied when the status is not OK Properties View Source Status The status of the plugin as an PluginStatus.EPluginStatus Declaration C# Visual Basic public PluginStatus.EPluginStatus Status { get; } Public ReadOnly Property Status As PluginStatus.EPluginStatus Property Value Type Description PluginStatus.EPluginStatus View Source StatusText A detailed explanation of the status of the plugin Declaration C# Visual Basic public string StatusText { get; } Public ReadOnly Property StatusText As String Property Value Type Description System.String Methods View Source Critical(String) Creates a new PluginStatus with the status of Critical and the specified description Declaration C# Visual Basic public static PluginStatus Critical(string statusText) Public Shared Function Critical(statusText As String) As PluginStatus Parameters Type Name Description System.String statusText A detailed explanation of the status Returns Type Description PluginStatus A PluginStatus with a status of Critical View Source Fatal(String) Creates a new PluginStatus with the status of Fatal and the specified description Declaration C# Visual Basic public static PluginStatus Fatal(string statusText) Public Shared Function Fatal(statusText As String) As PluginStatus Parameters Type Name Description System.String statusText A detailed explanation of the status Returns Type Description PluginStatus A PluginStatus with a status of Fatal View Source Info(String) Creates a new PluginStatus with the status of Info and the specified description Declaration C# Visual Basic public static PluginStatus Info(string statusText) Public Shared Function Info(statusText As String) As PluginStatus Parameters Type Name Description System.String statusText A detailed explanation of the status Returns Type Description PluginStatus A PluginStatus with a status of Info View Source Ok() Creates a new PluginStatus of OK Declaration C# Visual Basic public static PluginStatus Ok() Public Shared Function Ok As PluginStatus Returns Type Description PluginStatus A PluginStatus with a status of OK View Source Warning(String) Creates a new PluginStatus with the status of Warning and the specified description Declaration C# Visual Basic public static PluginStatus Warning(string statusText) Public Shared Function Warning(statusText As String) As PluginStatus Parameters Type Name Description System.String statusText A detailed explanation of the status Returns Type Description PluginStatus A PluginStatus with a status of Warning"
},
"api/HomeSeer.PluginSdk.Speech.AbstractSpeakerClient.html": {
"href": "api/HomeSeer.PluginSdk.Speech.AbstractSpeakerClient.html",
"title": "Class AbstractSpeakerClient | HomeSeer PluginSdk Docs",
"keywords": "Class AbstractSpeakerClient C# Visual Basic public abstract class AbstractSpeakerClient : IFromSpeaker Public MustInherit Class AbstractSpeakerClient Implements IFromSpeaker Inheritance System.Object AbstractSpeakerClient Implements IFromSpeaker Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Speech Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. Constructors View Source AbstractSpeakerClient(String, String) Declaration C# Visual Basic public AbstractSpeakerClient(string pluginId, string name) Public Sub New(pluginId As String, name As String) Parameters Type Name Description System.String pluginId System.String name Fields View Source _client Declaration C# Visual Basic IScsServiceClient<ISpeechAPI> _client _client As IScsServiceClient(Of ISpeechAPI) Field Value Type Description HSCF.Communication.ScsServices.Client.IScsServiceClient < ISpeechAPI > View Source _password Declaration C# Visual Basic string _password _password As String Field Value Type Description System.String View Source _username Declaration C# Visual Basic string _username _username As String Field Value Type Description System.String View Source ClientName Declaration C# Visual Basic protected readonly string ClientName Protected ReadOnly ClientName As String Field Value Type Description System.String View Source HostName Declaration C# Visual Basic protected readonly string HostName Protected ReadOnly HostName As String Field Value Type Description System.String View Source SPEAKER_INTERFACE_VERSION Declaration C# Visual Basic protected const int SPEAKER_INTERFACE_VERSION = 10 Protected Const SPEAKER_INTERFACE_VERSION As Integer = 10 Field Value Type Description System.Int32 View Source SpeechHost Declaration C# Visual Basic protected ISpeechAPI SpeechHost Protected SpeechHost As ISpeechAPI Field Value Type Description ISpeechAPI Properties View Source IpAddress Declaration C# Visual Basic protected string IpAddress { get; set; } Protected Property IpAddress As String Property Value Type Description System.String Methods View Source Connect(Int32) Declaration C# Visual Basic void Connect(int attempts) Sub Connect(attempts As Integer) Parameters Type Name Description System.Int32 attempts View Source Connect(String, String) Declaration C# Visual Basic public void Connect(string username, string password) Public Sub Connect(username As String, password As String) Parameters Type Name Description System.String username System.String password View Source Disconnect() Declaration C# Visual Basic public bool Disconnect() Public Function Disconnect As Boolean Returns Type Description System.Boolean View Source DisconnectNow() Declaration C# Visual Basic void DisconnectNow() Sub DisconnectNow View Source GetListenMode() Declaration C# Visual Basic public virtual int GetListenMode() Public Overridable Function GetListenMode As Integer Returns Type Description System.Int32 View Source GetListenStatus() Declaration C# Visual Basic public virtual bool GetListenStatus() Public Overridable Function GetListenStatus As Boolean Returns Type Description System.Boolean View Source GetMuteStatus() Declaration C# Visual Basic public virtual bool GetMuteStatus() Public Overridable Function GetMuteStatus As Boolean Returns Type Description System.Boolean View Source GetPauseStatus() Declaration C# Visual Basic public virtual short GetPauseStatus() Public Overridable Function GetPauseStatus As Short Returns Type Description System.Int16 View Source GetVoiceName() Declaration C# Visual Basic public virtual string GetVoiceName() Public Overridable Function GetVoiceName As String Returns Type Description System.String View Source GetVolume() Declaration C# Visual Basic public virtual int GetVolume() Public Overridable Function GetVolume As Integer Returns Type Description System.Int32 View Source IsBusy() Declaration C# Visual Basic public abstract bool IsBusy() Public MustOverride Function IsBusy As Boolean Returns Type Description System.Boolean View Source MEDIAFunction(EMediaOperation, String) Declaration C# Visual Basic public virtual string MEDIAFunction(EMediaOperation operation, string p) Public Overridable Function MEDIAFunction(operation As EMediaOperation, p As String) As String Parameters Type Name Description EMediaOperation operation System.String p Returns Type Description System.String View Source MEDIAPlay(String, Int32) Declaration C# Visual Basic public virtual int MEDIAPlay(string fileName, int fileSize) Public Overridable Function MEDIAPlay(fileName As String, fileSize As Integer) As Integer Parameters Type Name Description System.String fileName System.Int32 fileSize Returns Type Description System.Int32 View Source MuteAudio() Declaration C# Visual Basic public virtual void MuteAudio() Public Overridable Sub MuteAudio View Source OnClientConnect(Object, EventArgs) Declaration C# Visual Basic protected virtual void OnClientConnect(object sender, EventArgs e) Protected Overridable Sub OnClientConnect(sender As Object, e As EventArgs) Parameters Type Name Description System.Object sender System.EventArgs e View Source OnClientDisconnect(Object, EventArgs) Declaration C# Visual Basic protected virtual void OnClientDisconnect(object sender, EventArgs e) Protected Overridable Sub OnClientDisconnect(sender As Object, e As EventArgs) Parameters Type Name Description System.Object sender System.EventArgs e View Source PauseAudio() Declaration C# Visual Basic public virtual void PauseAudio() Public Overridable Sub PauseAudio View Source PlayWaveFile(String, Int32) Declaration C# Visual Basic public abstract void PlayWaveFile(string fileName, int fileSize) Public MustOverride Sub PlayWaveFile(fileName As String, fileSize As Integer) Parameters Type Name Description System.String fileName System.Int32 fileSize View Source SendMessage(String, Boolean) Declaration C# Visual Basic public virtual int SendMessage(string message, bool showBalloon) Public Overridable Function SendMessage(message As String, showBalloon As Boolean) As Integer Parameters Type Name Description System.String message System.Boolean showBalloon Returns Type Description System.Int32 View Source SetListenMode(Int32) Declaration C# Visual Basic public virtual int SetListenMode(int mode) Public Overridable Function SetListenMode(mode As Integer) As Integer Parameters Type Name Description System.Int32 mode Returns Type Description System.Int32 View Source SetSpeaker(String) Declaration C# Visual Basic public virtual void SetSpeaker(string speakerName) Public Overridable Sub SetSpeaker(speakerName As String) Parameters Type Name Description System.String speakerName View Source SetSpeakingSpeed(Int32) Declaration C# Visual Basic public virtual int SetSpeakingSpeed(int speed) Public Overridable Function SetSpeakingSpeed(speed As Integer) As Integer Parameters Type Name Description System.Int32 speed Returns Type Description System.Int32 View Source SetVoice(String) Declaration C# Visual Basic public virtual short SetVoice(string voice) Public Overridable Function SetVoice(voice As String) As Short Parameters Type Name Description System.String voice Returns Type Description System.Int16 View Source SetVolume(Int32) Declaration C# Visual Basic public virtual void SetVolume(int vol) Public Overridable Sub SetVolume(vol As Integer) Parameters Type Name Description System.Int32 vol View Source SetVRState(String) Declaration C# Visual Basic public virtual void SetVRState(string state) Public Overridable Sub SetVRState(state As String) Parameters Type Name Description System.String state View Source SpeakText(String, Boolean) Declaration C# Visual Basic public abstract void SpeakText(string speakText, bool shouldWait) Public MustOverride Sub SpeakText(speakText As String, shouldWait As Boolean) Parameters Type Name Description System.String speakText System.Boolean shouldWait View Source SpeakToFile(String, String, String) Declaration C# Visual Basic public virtual void SpeakToFile(string speakText, string fileName, string voice = \"\") Public Overridable Sub SpeakToFile(speakText As String, fileName As String, voice As String = \"\") Parameters Type Name Description System.String speakText System.String fileName System.String voice View Source StartListen() Declaration C# Visual Basic public abstract void StartListen() Public MustOverride Sub StartListen View Source StopListen() Declaration C# Visual Basic public abstract void StopListen() Public MustOverride Sub StopListen View Source StopSpeaking() Declaration C# Visual Basic public abstract void StopSpeaking() Public MustOverride Sub StopSpeaking View Source UnMuteAudio() Declaration C# Visual Basic public virtual void UnMuteAudio() Public Overridable Sub UnMuteAudio View Source UnPauseAudio() Declaration C# Visual Basic public virtual void UnPauseAudio() Public Overridable Sub UnPauseAudio View Source VRChanged() Declaration C# Visual Basic public virtual void VRChanged() Public Overridable Sub VRChanged Implements IFromSpeaker"
},
"api/HomeSeer.PluginSdk.Speech.clsLastVR.html": {
"href": "api/HomeSeer.PluginSdk.Speech.clsLastVR.html",
"title": "Class clsLastVR | HomeSeer PluginSdk Docs",
"keywords": "Class clsLastVR C# Visual Basic public class clsLastVR Public Class clsLastVR Inheritance System.Object clsLastVR Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Speech Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. Fields View Source Host Declaration C# Visual Basic public string Host Public Host As String Field Value Type Description System.String View Source ID Declaration C# Visual Basic public int ID Public ID As Integer Field Value Type Description System.Int32 View Source Instance Declaration C# Visual Basic public string Instance Public Instance As String Field Value Type Description System.String View Source Parsed Declaration C# Visual Basic public string Parsed Public Parsed As String Field Value Type Description System.String View Source Raw Declaration C# Visual Basic public string Raw Public Raw As String Field Value Type Description System.String View Source Time Declaration C# Visual Basic public DateTime Time Public Time As Date Field Value Type Description System.DateTime"
},
"api/HomeSeer.PluginSdk.Speech.EMediaOperation.html": {
"href": "api/HomeSeer.PluginSdk.Speech.EMediaOperation.html",
"title": "Enum EMediaOperation | HomeSeer PluginSdk Docs",
"keywords": "Enum EMediaOperation C# Visual Basic public enum EMediaOperation Public Enum EMediaOperation Namespace : HomeSeer.PluginSdk.Speech Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. Fields Name Description MediaGetFilename MediaGetVolume MediaIsPlaying Return true if media player is currently playing MediaMute MediaPause MediaSetFilename MediaSetVolume 0 -> 100 100=full MediaStop MediaUnmute MediaUnpause"
},
"api/HomeSeer.PluginSdk.Speech.ESpeakErrorValue.html": {
"href": "api/HomeSeer.PluginSdk.Speech.ESpeakErrorValue.html",
"title": "Enum ESpeakErrorValue | HomeSeer PluginSdk Docs",
"keywords": "Enum ESpeakErrorValue C# Visual Basic public enum ESpeakErrorValue Public Enum ESpeakErrorValue Namespace : HomeSeer.PluginSdk.Speech Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. Fields Name Description ErrorSending NoClients NoError"
},
"api/HomeSeer.PluginSdk.Speech.ESpeakTypeValue.html": {
"href": "api/HomeSeer.PluginSdk.Speech.ESpeakTypeValue.html",
"title": "Enum ESpeakTypeValue | HomeSeer PluginSdk Docs",
"keywords": "Enum ESpeakTypeValue C# Visual Basic public enum ESpeakTypeValue Public Enum ESpeakTypeValue Namespace : HomeSeer.PluginSdk.Speech Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. Fields Name Description Message Text message Tts TTS voice WaveFile Play a wave file"
},
"api/HomeSeer.PluginSdk.Speech.html": {
"href": "api/HomeSeer.PluginSdk.Speech.html",
"title": "Namespace HomeSeer.PluginSdk.Speech | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk.Speech Classes AbstractSpeakerClient PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. clsLastVR PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. RemoteHost PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. Interfaces IFromSpeaker PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. ISpeechAPI PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. Enums EMediaOperation PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. ESpeakErrorValue PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. ESpeakTypeValue PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution."
},
"api/HomeSeer.PluginSdk.Speech.IFromSpeaker.html": {
"href": "api/HomeSeer.PluginSdk.Speech.IFromSpeaker.html",
"title": "Interface IFromSpeaker | HomeSeer PluginSdk Docs",
"keywords": "Interface IFromSpeaker C# Visual Basic public interface IFromSpeaker Public Interface IFromSpeaker Namespace : HomeSeer.PluginSdk.Speech Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. Methods View Source Disconnect() Declaration C# Visual Basic bool Disconnect() Function Disconnect As Boolean Returns Type Description System.Boolean View Source GetListenMode() Declaration C# Visual Basic int GetListenMode() Function GetListenMode As Integer Returns Type Description System.Int32 View Source GetListenStatus() Declaration C# Visual Basic bool GetListenStatus() Function GetListenStatus As Boolean Returns Type Description System.Boolean View Source GetMuteStatus() Declaration C# Visual Basic bool GetMuteStatus() Function GetMuteStatus As Boolean Returns Type Description System.Boolean View Source GetPauseStatus() Declaration C# Visual Basic short GetPauseStatus() Function GetPauseStatus As Short Returns Type Description System.Int16 View Source GetVoiceName() Declaration C# Visual Basic string GetVoiceName() Function GetVoiceName As String Returns Type Description System.String View Source GetVolume() Declaration C# Visual Basic int GetVolume() Function GetVolume As Integer Returns Type Description System.Int32 View Source IsBusy() Declaration C# Visual Basic bool IsBusy() Function IsBusy As Boolean Returns Type Description System.Boolean View Source MEDIAFunction(EMediaOperation, String) Declaration C# Visual Basic string MEDIAFunction(EMediaOperation operation, string p) Function MEDIAFunction(operation As EMediaOperation, p As String) As String Parameters Type Name Description EMediaOperation operation System.String p Returns Type Description System.String View Source MEDIAPlay(String, Int32) Declaration C# Visual Basic int MEDIAPlay(string filename, int fsize) Function MEDIAPlay(filename As String, fsize As Integer) As Integer Parameters Type Name Description System.String filename System.Int32 fsize Returns Type Description System.Int32 View Source MuteAudio() Declaration C# Visual Basic void MuteAudio() Sub MuteAudio View Source PauseAudio() Declaration C# Visual Basic void PauseAudio() Sub PauseAudio View Source PlayWaveFile(String, Int32) Declaration C# Visual Basic void PlayWaveFile(string fname, int fsize) Sub PlayWaveFile(fname As String, fsize As Integer) Parameters Type Name Description System.String fname System.Int32 fsize View Source SendMessage(String, Boolean) Declaration C# Visual Basic int SendMessage(string message, bool showballoon) Function SendMessage(message As String, showballoon As Boolean) As Integer Parameters Type Name Description System.String message System.Boolean showballoon Returns Type Description System.Int32 View Source SetListenMode(Int32) Declaration C# Visual Basic int SetListenMode(int mode) Function SetListenMode(mode As Integer) As Integer Parameters Type Name Description System.Int32 mode Returns Type Description System.Int32 View Source SetSpeaker(String) Declaration C# Visual Basic void SetSpeaker(string speaker_name) Sub SetSpeaker(speaker_name As String) Parameters Type Name Description System.String speaker_name View Source SetSpeakingSpeed(Int32) Declaration C# Visual Basic int SetSpeakingSpeed(int speed) Function SetSpeakingSpeed(speed As Integer) As Integer Parameters Type Name Description System.Int32 speed Returns Type Description System.Int32 View Source SetVoice(String) Declaration C# Visual Basic short SetVoice(string voice) Function SetVoice(voice As String) As Short Parameters Type Name Description System.String voice Returns Type Description System.Int16 View Source SetVolume(Int32) Declaration C# Visual Basic void SetVolume(int vol) Sub SetVolume(vol As Integer) Parameters Type Name Description System.Int32 vol View Source SetVRState(String) Declaration C# Visual Basic void SetVRState(string state) Sub SetVRState(state As String) Parameters Type Name Description System.String state View Source SpeakText(String, Boolean) Declaration C# Visual Basic void SpeakText(string speaktxt, bool wait) Sub SpeakText(speaktxt As String, wait As Boolean) Parameters Type Name Description System.String speaktxt System.Boolean wait View Source SpeakToFile(String, String, String) Declaration C# Visual Basic void SpeakToFile(string txt, string fname, string voice = \"\") Sub SpeakToFile(txt As String, fname As String, voice As String = \"\") Parameters Type Name Description System.String txt System.String fname System.String voice View Source StartListen() Declaration C# Visual Basic void StartListen() Sub StartListen View Source StopListen() Declaration C# Visual Basic void StopListen() Sub StopListen View Source StopSpeaking() Declaration C# Visual Basic void StopSpeaking() Sub StopSpeaking View Source UnMuteAudio() Declaration C# Visual Basic void UnMuteAudio() Sub UnMuteAudio View Source UnPauseAudio() Declaration C# Visual Basic void UnPauseAudio() Sub UnPauseAudio View Source VRChanged() Declaration C# Visual Basic void VRChanged() Sub VRChanged"
},
"api/HomeSeer.PluginSdk.Speech.ISpeechAPI.html": {
"href": "api/HomeSeer.PluginSdk.Speech.ISpeechAPI.html",
"title": "Interface ISpeechAPI | HomeSeer PluginSdk Docs",
"keywords": "Interface ISpeechAPI C# Visual Basic public interface ISpeechAPI Public Interface ISpeechAPI Namespace : HomeSeer.PluginSdk.Speech Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. Methods View Source Connect(String, String, String, String, String) Declaration C# Visual Basic string Connect(string hostname, string instance, string ipaddr, string user, string pw) Function Connect(hostname As String, instance As String, ipaddr As String, user As String, pw As String) As String Parameters Type Name Description System.String hostname System.String instance System.String ipaddr System.String user System.String pw Returns Type Description System.String View Source ConnectLocal(String, String, String, String, String, IFromSpeaker) Declaration C# Visual Basic string ConnectLocal(string hostname, string instance, string ipaddr, string user, string pw, IFromSpeaker hostapi) Function ConnectLocal(hostname As String, instance As String, ipaddr As String, user As String, pw As String, hostapi As IFromSpeaker) As String Parameters Type Name Description System.String hostname System.String instance System.String ipaddr System.String user System.String pw IFromSpeaker hostapi Returns Type Description System.String View Source CreateGrammar(String, String, String, String, String, String) Declaration C# Visual Basic string CreateGrammar(string host, string instance, string AttentionWord, string YesWord, string NoWord, string IgnoreWord) Function CreateGrammar(host As String, instance As String, AttentionWord As String, YesWord As String, NoWord As String, IgnoreWord As String) As String Parameters Type Name Description System.String host System.String instance System.String AttentionWord System.String YesWord System.String NoWord System.String IgnoreWord Returns Type Description System.String View Source DisconnectLocal(Int64) Declaration C# Visual Basic void DisconnectLocal(long client_id) Sub DisconnectLocal(client_id As Long) Parameters Type Name Description System.Int64 client_id View Source GetAttentionMenu(String, String) Declaration C# Visual Basic string GetAttentionMenu(string host, string instance) Function GetAttentionMenu(host As String, instance As String) As String Parameters Type Name Description System.String host System.String instance Returns Type Description System.String View Source GetCommandMenu(String, String) Declaration C# Visual Basic string GetCommandMenu(string host, string instance) Function GetCommandMenu(host As String, instance As String) As String Parameters Type Name Description System.String host System.String instance Returns Type Description System.String View Source GetFileDate(String) Declaration C# Visual Basic DateTime GetFileDate(string fname) Function GetFileDate(fname As String) As Date Parameters Type Name Description System.String fname Returns Type Description System.DateTime View Source GetFilePart(String, Int32, Int32) Declaration C# Visual Basic string GetFilePart(string fname, int start, int fsize) Function GetFilePart(fname As String, start As Integer, fsize As Integer) As String Parameters Type Name Description System.String fname System.Int32 start System.Int32 fsize Returns Type Description System.String View Source GetHostsList(String) Declaration C# Visual Basic Collection<object> GetHostsList(string host_instance) Function GetHostsList(host_instance As String) As Collection(Of Object) Parameters Type Name Description System.String host_instance Returns Type Description System.Collections.ObjectModel.Collection < System.Object > View Source GetListenMode(String) Declaration C# Visual Basic int GetListenMode(string host_instance) Function GetListenMode(host_instance As String) As Integer Parameters Type Name Description System.String host_instance Returns Type Description System.Int32 View Source GetListenStatus(String) Declaration C# Visual Basic bool GetListenStatus(string host_instance) Function GetListenStatus(host_instance As String) As Boolean Parameters Type Name Description System.String host_instance Returns Type Description System.Boolean View Source GetMuteStatus(String) Declaration C# Visual Basic bool GetMuteStatus(string host_instance) Function GetMuteStatus(host_instance As String) As Boolean Parameters Type Name Description System.String host_instance Returns Type Description System.Boolean View Source GetPauseStatus(String) Declaration C# Visual Basic int GetPauseStatus(string host_instance) Function GetPauseStatus(host_instance As String) As Integer Parameters Type Name Description System.String host_instance Returns Type Description System.Int32 View Source GetRemoteHost(String, String) Declaration C# Visual Basic Collection<object> GetRemoteHost(string host, string instance) Function GetRemoteHost(host As String, instance As String) As Collection(Of Object) Parameters Type Name Description System.String host System.String instance Returns Type Description System.Collections.ObjectModel.Collection < System.Object > View Source GetTestNumber() Declaration C# Visual Basic int GetTestNumber() Function GetTestNumber As Integer Returns Type Description System.Int32 View Source GetVoiceName(String) Declaration C# Visual Basic string GetVoiceName(string host_instance) Function GetVoiceName(host_instance As String) As String Parameters Type Name Description System.String host_instance Returns Type Description System.String View Source GetVolume(String) Declaration C# Visual Basic int GetVolume(string host_instance) Function GetVolume(host_instance As String) As Integer Parameters Type Name Description System.String host_instance Returns Type Description System.Int32 View Source IsHostConnected(String, String) Declaration C# Visual Basic bool IsHostConnected(string host, string instance) Function IsHostConnected(host As String, instance As String) As Boolean Parameters Type Name Description System.String host System.String instance Returns Type Description System.Boolean View Source IsSpeaking(String) Declaration C# Visual Basic bool IsSpeaking(string host) Function IsSpeaking(host As String) As Boolean Parameters Type Name Description System.String host Returns Type Description System.Boolean View Source MEDIAFunction(EMediaOperation, String, String) Declaration C# Visual Basic string MEDIAFunction(EMediaOperation operation, string p, string host_instance) Function MEDIAFunction(operation As EMediaOperation, p As String, host_instance As String) As String Parameters Type Name Description EMediaOperation operation System.String p System.String host_instance Returns Type Description System.String View Source MEDIAPlay(String, String) Declaration C# Visual Basic void MEDIAPlay(string filename, string host_instance) Sub MEDIAPlay(filename As String, host_instance As String) Parameters Type Name Description System.String filename System.String host_instance View Source MuteAudio(String) Declaration C# Visual Basic void MuteAudio(string host_instance) Sub MuteAudio(host_instance As String) Parameters Type Name Description System.String host_instance View Source PauseAudio(String) Declaration C# Visual Basic void PauseAudio(string host_instance) Sub PauseAudio(host_instance As String) Parameters Type Name Description System.String host_instance View Source Recognize(String, String, Int32, String, String) Declaration C# Visual Basic string Recognize(string raw_phrase, string parsed_phrase, int id, string host, string instance) Function Recognize(raw_phrase As String, parsed_phrase As String, id As Integer, host As String, instance As String) As String Parameters Type Name Description System.String raw_phrase System.String parsed_phrase System.Int32 id System.String host System.String instance Returns Type Description System.String View Source RecognizeRaw(String, String, String) Declaration C# Visual Basic string RecognizeRaw(string phrase, string host, string instance) Function RecognizeRaw(phrase As String, host As String, instance As String) As String Parameters Type Name Description System.String phrase System.String host System.String instance Returns Type Description System.String View Source RemoteHostsListCount() Declaration C# Visual Basic int RemoteHostsListCount() Function RemoteHostsListCount As Integer Returns Type Description System.Int32 View Source RemoveHost(String, String) Declaration C# Visual Basic void RemoveHost(string host, string instance) Sub RemoveHost(host As String, instance As String) Parameters Type Name Description System.String host System.String instance View Source Reset_mDoIt(String, String) Declaration C# Visual Basic void Reset_mDoIt(string host, string instance) Sub Reset_mDoIt(host As String, instance As String) Parameters Type Name Description System.String host System.String instance View Source SetAttentionPhrases(String, String, String, String, String, String) Declaration C# Visual Basic void SetAttentionPhrases(string attstr, string attackstr, string ignorestr, string ignoreackstr, string host, string instance) Sub SetAttentionPhrases(attstr As String, attackstr As String, ignorestr As String, ignoreackstr As String, host As String, instance As String) Parameters Type Name Description System.String attstr System.String attackstr System.String ignorestr System.String ignoreackstr System.String host System.String instance View Source SetLastVR(String, String, Int32, String, String) Declaration C# Visual Basic void SetLastVR(string raw_phrase, string parsed_phrase, int id, string host, string instance) Sub SetLastVR(raw_phrase As String, parsed_phrase As String, id As Integer, host As String, instance As String) Parameters Type Name Description System.String raw_phrase System.String parsed_phrase System.Int32 id System.String host System.String instance View Source SetListenMode(Int32, String) Declaration C# Visual Basic int SetListenMode(int mode, string host_instance) Function SetListenMode(mode As Integer, host_instance As String) As Integer Parameters Type Name Description System.Int32 mode System.String host_instance Returns Type Description System.Int32 View Source SetSpeaker(String, String) Declaration C# Visual Basic void SetSpeaker(string speaker_name, string host_instance) Sub SetSpeaker(speaker_name As String, host_instance As String) Parameters Type Name Description System.String speaker_name System.String host_instance View Source SetSpeakingSpeed(Int32, String) Declaration C# Visual Basic int SetSpeakingSpeed(int speed, string host_instance) Function SetSpeakingSpeed(speed As Integer, host_instance As String) As Integer Parameters Type Name Description System.Int32 speed System.String host_instance Returns Type Description System.Int32 View Source SetVoice(String, String) Declaration C# Visual Basic int SetVoice(string voice, string host_instance) Function SetVoice(voice As String, host_instance As String) As Integer Parameters Type Name Description System.String voice System.String host_instance Returns Type Description System.Int32 View Source SetVolume(Int32, String) Declaration C# Visual Basic void SetVolume(int vol, string host_instance) Sub SetVolume(vol As Integer, host_instance As String) Parameters Type Name Description System.Int32 vol System.String host_instance View Source SetVRState(String, String) Declaration C# Visual Basic void SetVRState(string state, string host_instance) Sub SetVRState(state As String, host_instance As String) Parameters Type Name Description System.String state System.String host_instance View Source Speak(String, Boolean, String, Constants.speak_type_values, Boolean, Int32) Declaration C# Visual Basic Constants.speak_error_values Speak(string txt, bool wait, string host_Specified, Constants.speak_type_values mtype, bool showballoon, int fsize) Function Speak(txt As String, wait As Boolean, host_Specified As String, mtype As Constants.speak_type_values, showballoon As Boolean, fsize As Integer) As Constants.speak_error_values Parameters Type Name Description System.String txt System.Boolean wait System.String host_Specified Constants.speak_type_values mtype System.Boolean showballoon System.Int32 fsize Returns Type Description Constants.speak_error_values View Source SpeakDone(String, String) Declaration C# Visual Basic void SpeakDone(string host, string instance) Sub SpeakDone(host As String, instance As String) Parameters Type Name Description System.String host System.String instance View Source SpeakFromClient(String, String) Declaration C# Visual Basic void SpeakFromClient(string txt, string host) Sub SpeakFromClient(txt As String, host As String) Parameters Type Name Description System.String txt System.String host View Source StartListening(String) Declaration C# Visual Basic void StartListening(string host_instance) Sub StartListening(host_instance As String) Parameters Type Name Description System.String host_instance View Source StopListening(String) Declaration C# Visual Basic void StopListening(string host_instance) Sub StopListening(host_instance As String) Parameters Type Name Description System.String host_instance View Source StopSpeaking(String) Declaration C# Visual Basic void StopSpeaking(string host_instance) Sub StopSpeaking(host_instance As String) Parameters Type Name Description System.String host_instance View Source UnMuteAudio(String) Declaration C# Visual Basic void UnMuteAudio(string host_instance) Sub UnMuteAudio(host_instance As String) Parameters Type Name Description System.String host_instance View Source UnPauseAudio(String) Declaration C# Visual Basic void UnPauseAudio(string host_instance) Sub UnPauseAudio(host_instance As String) Parameters Type Name Description System.String host_instance View Source version() Declaration C# Visual Basic int version() Function version As Integer Returns Type Description System.Int32 View Source VRChanged(RemoteHost) Declaration C# Visual Basic void VRChanged(RemoteHost rh) Sub VRChanged(rh As RemoteHost) Parameters Type Name Description RemoteHost rh View Source WaveDone(String, String) Declaration C# Visual Basic void WaveDone(string host, string instance) Sub WaveDone(host As String, instance As String) Parameters Type Name Description System.String host System.String instance"
},
"api/HomeSeer.PluginSdk.Speech.RemoteHost.html": {
"href": "api/HomeSeer.PluginSdk.Speech.RemoteHost.html",
"title": "Class RemoteHost | HomeSeer PluginSdk Docs",
"keywords": "Class RemoteHost C# Visual Basic public class RemoteHost Public Class RemoteHost Inheritance System.Object RemoteHost Inherited Members System.Object.ToString() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.ReferenceEquals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() Namespace : HomeSeer.PluginSdk.Speech Assembly : PluginSdk.dll PLEASE NOTE: Code related to the Speech components in HomeSeer were ported from the HS3 plugin API and have not been fully tested to verify full functionality from the new SDK. The Speech API may undergo significant changes in the near future. Please use with caution. Fields View Source client receiver object used to call back into speaker client Declaration C# Visual Basic public IFromSpeaker client Public client As IFromSpeaker Field Value Type Description IFromSpeaker View Source clientID unique identifier of client Declaration C# Visual Basic public long clientID Public clientID As Long Field Value Type Description System.Int64 View Source hostname name of host speaker client is running on Declaration C# Visual Basic public string hostname Public hostname As String Field Value Type Description System.String View Source instance instance name of speaker client on remote host Declaration C# Visual Basic public string instance Public instance As String Field Value Type Description System.String View Source ipaddr IP address of remote host Declaration C# Visual Basic public string ipaddr Public ipaddr As String Field Value Type Description System.String View Source LastBusyCheck last time we polled the remote for play wave and speak status Declaration C# Visual Basic public DateTime LastBusyCheck Public LastBusyCheck As Date Field Value Type Description System.DateTime View Source Lock Declaration C# Visual Basic public object Lock Public Lock As Object Field Value Type Description System.Object View Source SpeakingCount incremented when speaking or wave play starts, decremented when finished Declaration C# Visual Basic public int SpeakingCount Public SpeakingCount As Integer Field Value Type Description System.Int32 View Source valid true indicates valid entry Declaration C# Visual Basic public bool valid Public valid As Boolean Field Value Type Description System.Boolean View Source vr vr object to handle voice recognition Declaration C# Visual Basic public object vr Public vr As Object Field Value Type Description System.Object"
},
"api/HomeSeer.PluginSdk.Systems.EConfigChangeAction.html": {
"href": "api/HomeSeer.PluginSdk.Systems.EConfigChangeAction.html",
"title": "Enum EConfigChangeAction | HomeSeer PluginSdk Docs",
"keywords": "Enum EConfigChangeAction C# Visual Basic public enum EConfigChangeAction Public Enum EConfigChangeAction Namespace : HomeSeer.PluginSdk.Systems Assembly : PluginSdk.dll The action that is occuring during a ConfigChange system event Fields Name Description Add The EConfigChangeTarget is being added Change The EConfigChangeTarget is being edited Delete The EConfigChangeTarget is being deleted Unknown The action type is unknown or unspecified"
},
"api/HomeSeer.PluginSdk.Systems.EConfigChangeTarget.html": {
"href": "api/HomeSeer.PluginSdk.Systems.EConfigChangeTarget.html",
"title": "Enum EConfigChangeTarget | HomeSeer PluginSdk Docs",
"keywords": "Enum EConfigChangeTarget C# Visual Basic public enum EConfigChangeTarget Public Enum EConfigChangeTarget Namespace : HomeSeer.PluginSdk.Systems Assembly : PluginSdk.dll The target of a ConfigChange system event Fields Name Description Device A device is being changed Event An event is being changed EventGroup An event group is being changed SetupItem A setup item is being changed"
},
"api/HomeSeer.PluginSdk.Systems.EHsSystemEvent.html": {
"href": "api/HomeSeer.PluginSdk.Systems.EHsSystemEvent.html",
"title": "Enum EHsSystemEvent | HomeSeer PluginSdk Docs",
"keywords": "Enum EHsSystemEvent C# Visual Basic public enum EHsSystemEvent Public Enum EHsSystemEvent Namespace : HomeSeer.PluginSdk.Systems Assembly : PluginSdk.dll Types of system events. Remarks System events represent changes in the system that plugins can react to. They are not the same thing as Events configured by users. This replaces Constants.HSEvent Fields Name Description Audio When audio is started or stopped, this event is fired. This includes playing an audio file or speaking TTS Parameters are: Parameter index Content 0 The event type as an System.Int32 with a value of Audio 1 A System.Boolean representing whether audio has started or stopped. langword_csharp_True means audio has started, and false means audio has stopped. 2 The audio device number as an System.Int32 or 0 if not using Windows PC audio. 3 The speaker host name as a System.String if audio is being sent to a client. 4 The speaker host instance as a System.String if audio is being sent to a client. CallerId Deprecated, no longer supported ConfigChange When a change is made to the configuration of the system, such as Setup, this event is fired. Parameters are: Parameter index Content 0 The event type as an System.Int32 with a value of ConfigChange 1 The target of the config change event as defined by EConfigChangeTarget and represented as an System.Int32 2 UNUSED - always 0 3 Target unique reference number as an System.Int32 4 The type of change happening as defined by EConfigChangeAction and represented by an System.Int32 5 A description of what changed as a System.String DeleteDevice A device has been deleted Generic If a generic event is registered, this event is fired when the event is triggered. The event is typically triggered by a plugin. Parameter 0 is EHsSystemEvent.Generic. The remaining parameters are defined by the event that is registered. Log When the event log is written, this event is fired. Parameters are: Parameter index Content 0 The event type as an System.Int32 with a value of Log 1 The date and time of the log entry as a System.String 2 The type of the log entry as a System.String 3 The content of the log entry as a System.String 4 The color of the log entry as a System.String formatted in HTML color format 5 DEPRECATED 6 The source of the log entry as a System.String 7 The error code associated with the log entry as a System.Int32 8 The date and time of the log entry as a System.DateTime SetupChange When an item in setup is changed, this event is fired. The parameters note the settings.ini file values that are set. Parameters are: Parameter index Content 0 The event type as an System.Int32 with a value of SetupChange 1 The INI section as a System.String 2 The INI key as a System.String 3 The new INI value as a System.String P(0) = EHsSystemEvent.SetupChange P(1) = INI section P(2) = INI key P(3) = INI value SpeakerConnect When a new speaker client connects to the system, this event is fired. Parameters are: Parameter index Content 0 The event type as an System.Int32 with a value of SpeakerConnect 1 The name of the speaker host as a System.String 2 The instance of the speaker host as a System.String 3 An System.Int32 representing what the speaker host is doing. 1 means the host is connecting. 2 means it is disconnecting. 4 The IP address of the speaker host as a System.String StringChange When the string value of a device is changed, this event is fired. Parameters are: Parameter index Content 0 The event type as an System.Int32 with a value of StringChange 1 The Address of the device that has changed 2 The new value as a System.String 3 The Ref of the device that has changed ValueChange When the value of a device changes, this event is fired. Parameters are: Parameter index Content 0 The event type as an System.Int32 with a value of ValueChange 1 The Address of the device that has changed 2 The new value as a System.Double 3 The old value as a System.Double 4 The Ref of the device that has changed ValueSet When a device has it's value set, this event is fired. This will fire even if the device is being set to the same value. Parameters are: Parameter index Content 0 The event type as an System.Int32 with a value of ValueSet 1 The Address of the device that has been set 2 The new value as a System.Double 3 The old value as a System.Double 4 The Ref of the device that has been set P(0) = EHsSystemEvent.ValueSet P(1) = HSAddress of device that changed P(2) = New value being set (double) P(3) = Previous value (double) P(4) = Device reference number ValueStringChangeRunScript If a script includes a callback script, this event is fired before the script is run. Note that this event does not include event ID in P(0). Parameters are: Parameter index Content 0 The Code of the device that has been changed 1 The Address of the device that has been changed 2 The new value as a System.Double 3 The old value as a System.Double 4 The Ref of the device that has been changed P(0) = Device HSCode P(1) = Device HSAddress P(2) = New device value being set (double) P(3) = Previous device value (double) P(4) = Device reference number VoiceRec Deprecated, no longer supported"
},
"api/HomeSeer.PluginSdk.Systems.html": {
"href": "api/HomeSeer.PluginSdk.Systems.html",
"title": "Namespace HomeSeer.PluginSdk.Systems | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk.Systems Enums EConfigChangeAction The action that is occuring during a ConfigChange system event EConfigChangeTarget The target of a ConfigChange system event EHsSystemEvent Types of system events."
},
"api/HomeSeer.PluginSdk.Types.EAccessLevel.html": {
"href": "api/HomeSeer.PluginSdk.Types.EAccessLevel.html",
"title": "Enum EAccessLevel | HomeSeer PluginSdk Docs",
"keywords": "Enum EAccessLevel C# Visual Basic public enum EAccessLevel Public Enum EAccessLevel Namespace : HomeSeer.PluginSdk.Types Assembly : PluginSdk.dll License requirement modes for plugins. Set AccessLevel to the integer value corresponding to the desired level. Fields Name Description AcceptsLegacyLicense Plug-in is licensed and a user must purchase a license in order to use this plug-in. When the plug-in Is first enabled, it will will run as a trial for 30 days. Legacy (HS3) plugin licenses are also accepted. DoNotUse Reserved for internal compatibility management. Do not use. LicenseNotRequired Plug-in is not licensed and may be enabled and run without purchasing a license. Use this value for free plug-ins. RequiresLicense Plug-in is licensed and a user must purchase a license in order to use this plug-in. When the plug-in Is first enabled, it will will run as a trial for 30 days."
},
"api/HomeSeer.PluginSdk.Types.EHsSystemEvent.html": {
"href": "api/HomeSeer.PluginSdk.Types.EHsSystemEvent.html",
"title": "Enum EHsSystemEvent | HomeSeer PluginSdk Docs",
"keywords": "Enum EHsSystemEvent C# Visual Basic public enum EHsSystemEvent Public Enum EHsSystemEvent Namespace : HomeSeer.PluginSdk.Types Assembly : PluginSdk.dll Fields Name Description Audio CallerId ConfigChange DeleteDevice A device has been deleted Generic Log RunScriptSpecial SetupChange SpeakerConnect StringChange ValueChange ValueSet VoiceRec"
},
"api/HomeSeer.PluginSdk.Types.EOsType.html": {
"href": "api/HomeSeer.PluginSdk.Types.EOsType.html",
"title": "Enum EOsType | HomeSeer PluginSdk Docs",
"keywords": "Enum EOsType C# Visual Basic public enum EOsType Public Enum EOsType Namespace : HomeSeer.PluginSdk.Types Assembly : PluginSdk.dll The type of Operating System that HomeSeer is running on Fields Name Description Linux A compatible Linux Operating System Windows Microsoft Windows"
},
"api/HomeSeer.PluginSdk.Types.ERegistrationMode.html": {
"href": "api/HomeSeer.PluginSdk.Types.ERegistrationMode.html",
"title": "Enum ERegistrationMode | HomeSeer PluginSdk Docs",
"keywords": "Enum ERegistrationMode C# Visual Basic public enum ERegistrationMode Public Enum ERegistrationMode Namespace : HomeSeer.PluginSdk.Types Assembly : PluginSdk.dll The registration mode of a plugin Fields Name Description ReadyToRegister For HSPRO, plugin does not have a license and needs to be enabled to get one Registered The plugin is registered Trial The plugin is running as a trial Unknown The registration mode is not known Unregistered The plugin is unregistered"
},
"api/HomeSeer.PluginSdk.Types.html": {
"href": "api/HomeSeer.PluginSdk.Types.html",
"title": "Namespace HomeSeer.PluginSdk.Types | HomeSeer PluginSdk Docs",
"keywords": "Namespace HomeSeer.PluginSdk.Types Enums EAccessLevel License requirement modes for plugins. Set AccessLevel to the integer value corresponding to the desired level. EOsType The type of Operating System that HomeSeer is running on ERegistrationMode The registration mode of a plugin"
},
"api/index.html": {
"href": "api/index.html",
"title": "Welcome to the API Reference for the HS4 Plugin SDK | HomeSeer PluginSdk Docs",
"keywords": "Welcome to the API Reference for the HS4 Plugin SDK A software development kit used to create plugins for the HomeSeer platform. Getting started To get started developing a plugin for the HomeSeer platform check out the help documentation . <!--URLs-->"
},
"index.html": {
"href": "index.html",
"title": "Welcome to the API Reference for the HS4 Plugin SDK | HomeSeer PluginSdk Docs",
"keywords": "Welcome to the API Reference for the HS4 Plugin SDK A software development kit used to create plugins for the HomeSeer platform. Getting started To get started developing a plugin for the HomeSeer platform check out the help documentation . Where can I find the latest news or critical information about the Plugin SDK? Release Notes can be found along side the API Reference here , and announcements for developers are posted in a dedicated forum here . view the latest release notes How do I ask for help while developing or publishing a plugin? Search the forum for information Post your question to the forum Submit an issue to the Plugin SDK GitHub repository How do I report bugs with the Plugin SDK? Submit an issue to the Plugin SDK GitHub repository How can I contribute to the development of the Plugin SDK? The entire Plugin SDK is open-sourced on GitHub here , and the HomeSeer team encourages everyone that uses the SDK to contribute to it so that we can enhance the overall HomeSeer ecosystem together. <!--URLs-->"
},
"README.html": {
"href": "README.html",
"title": "Plugin SDK DocFX Project | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK DocFX Project This project is used to build the API Reference for the Plugin SDK. Getting Started Chocolatey and DocFX are required to build this project. Install Chocolatey First, you will need to make sure you install chocolatey . This is used to install and manage DocFX . Install DocFX Next, install DocFX using chocolatey by running choco install docfx -y from a command line terminal. Clone Plugin SDK Source The Plugin SDK source must be located in a directory called \"src\" in the same location as the this project. Pull the latest Plugin SDK source from GitHub into this directory. Build Instructions Once everything is in the right place, you can build the documentation by building the Plugin SDK using the Docs build configurations and then running the following commands: docfx metadata -f docfx build -f docfx metadata -f docfx build -f Yes. These commands should be run twice. Then you can test it by running docfx --serve"
},
"release_notes/index.html": {
"href": "release_notes/index.html",
"title": "Plugin SDK Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK Release Notes Pick a version to view release notes. Latest Release Plugin SDK v1.5.0.0 Previous Releases Plugin SDK v1.4.4.0 Plugin SDK v1.4.3.0 Plugin SDK v1.4.2.0 Plugin SDK v1.4.1.0 Plugin SDK v1.4.0.0 Plugin SDK v1.3.1.0 Plugin SDK v1.3.0.0 Plugin SDK v1.2.5.0 Plugin SDK v1.2.4.0 Plugin SDK v1.2.3.0 Plugin SDK v1.2.2.0 Plugin SDK v1.2.1.0 Plugin SDK v1.2.0.0 Plugin SDK v1.1.0.0 Plugin SDK v1.0.9.0 Plugin SDK v1.0.8.1 Plugin SDK v1.0.8.0 Plugin SDK v1.0.7.1 Plugin SDK v1.0.5.0"
},
"release_notes/pluginsdk_releasenotes_1_0_5_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_0_5_0.html",
"title": "Plugin SDK v1.0.5.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.0.5.0 Release Notes Modify IHsController Rename IHsController.ControlFeatureByValue to IHsController.UpdateFeatureValueByRef Rename IHsController.ControlFeatureByString to IHsController.UpdateFeatureValueStringByRef Add IHsController.DeleteDevicesByInterface Add IHsController.GetIpAddress Add IHsController.SaveImageFile Add IHsController.DeleteImageFile Provide default AbstractPlugin.SetIOMulti implementation Add generic feature type creation methods to FeatureFactory. See FeatureFactory.CreateGenericBinaryControl and FeatureFactory.CreateGenericBinarySensor Add FeatureFactory.WithDefaultValue method for initializing a feature with a specific value instead of 0 Deprecate AbstractHsDevice.ProductImage"
},
"release_notes/pluginsdk_releasenotes_1_0_7_1.html": {
"href": "release_notes/pluginsdk_releasenotes_1_0_7_1.html",
"title": "Plugin SDK v1.0.7.1 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.0.7.1 Release Notes Modify IHsController interface Add IHsController.SpeakToFile method Add IHsController.GetLocation1Name method Add IHsController.GetLocation2Name method Add IHsController.IsLocation1First method Add IHsController.GetFirstLocationName method Add IHsController.GetSecondLocationName Method Update InputView.IsValueValidForType method Fixes GitHub Issue #30 IsValueValidForType does not allow empty strings Fixes GitHub Issue #33 Error while saving value on action config page Fixes GitHub Issue #34 EInputType.Decimal does not work as expected with triggers/actions Add FeatureFactory.AddColorPicker method signature Fixes GitHub Issue #39 New ColorPicker controls default to 0-16777215 incorrectly and cannot be changed Add SelectListView.GetSelectedOptionKey method Add Page.GetViewById method Combine shared code for ActionTypeCollection and TriggerTypeCollection into BaseTypeCollection class New shared code eliminates the need to implement all constructor signatures for classes inheriting from AbstractActionType or AbstractTriggerType Add AbstractActionType.SelectedSubActionIndex property"
},
"release_notes/pluginsdk_releasenotes_1_0_8_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_0_8_0.html",
"title": "Plugin SDK v1.0.8.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.0.8.0 Release Notes Fix EInputType.Decimal by switching to number type with the step attribute (HS-81) Add GetAllDevices methods to IHsController (HS-146) Change default locations set in factories to Plugin-PLUGINID (HS-194) Add bitwise flags to StatusControl; Add control only flag to EControlFlag; Move StatusControl.HasAdditionalData to EControlFlag (HS-219) Add summary to TypeInfo Deprecate Constants.DeviceScriptChange and Constants.CAPIControlButtonImage Remove AbstractHsDevice.ProductImage Update StatusGraphic so blank labels are acceptable - a single space"
},
"release_notes/pluginsdk_releasenotes_1_0_8_1.html": {
"href": "release_notes/pluginsdk_releasenotes_1_0_8_1.html",
"title": "Plugin SDK v1.0.8.1 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.0.8.1 Release Notes Crash on Linux when installing several plugin in a row (PSDK-2) Label types for formatting content in labels (PSDK-4)"
},
"release_notes/pluginsdk_releasenotes_1_0_9_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_0_9_0.html",
"title": "Plugin SDK v1.0.9.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.0.9.0 Release Notes This release is focused on re-enabling various HS3 API methods that were disabled during the initial migration to the new SDK as well as the addition of utilities to simplify the feature page creation and management process. Add feature page interface for easy implementation. See AbstractFeaturePage for more info. (PSDK-59) Add IHsController.UpdatePlugTrigger() method (PSDK-56) Add IHsController.ShutDown() (PSDK-65) Add IHsController.RestartSystem() (PSDK-66) Add IHsController.RunScript() (PSDK-67) Add IHsController.RunScriptFunc() (PSDK-68) Add IHsController.WindowsShutdownSystem() (PSDK-69) Add IHsController.WindowsRebootSystem() (PSDK-70) Add IHsController.WindowsLogOffSystem() (PSDK-71) Add IHsController.PlayWavFile() (PSDK-72) Add IHsController.SetVolume() (PSDK-73) IHsController.GetHsEdition() is out of date (PSDK-60)"
},
"release_notes/pluginsdk_releasenotes_1_1_0_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_1_0_0.html",
"title": "Plugin SDK v1.1.0.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.1.0.0 Release Notes This release is focused on enhancing cross-plugin interactions directly through the SDK so plugins do not have to communicate using the JSON API. It also includes optimizations to JUI pages and event action and trigger type data processing. Add IHsController.PluginFunction() and IHsController.LegacyPluginFunction() (PSDK-75) Add IHsController.SendControlForFeatureByValue() for triggering the AbstractPlugin.SetIOMulti() method for the plugin that owns a particular device/feature. This replaces the CAPIControlHandler method from the legacy API. (PSDK-40) Add IHsController.GetPluginVersionById() and IHsController.GetPluginVersionByName() (PSDK-76) Add EAccessLevel for use with AbstractPlugin.AccessLevel (PSDK-81) The licensing mode EAccessLevel.AcceptsLegacyLicense has been added if you would like licenses for a legacy version of your plugin to to also be accepted. Optimize event action and trigger life-cycle to prevent unnecessary calls to TrigActInfo.DeserializeLegacyData() (PSDK-54) AbstractActionType.ProcessData() is no longer virtual and cannot be overriden. Please override AbstractActionType.ConvertLegacyData() instead if you need to support action types from a legacy version of your plugin. AbstractTriggerType.ProcessData() is no longer virtual and cannot be overriden. Please override AbstractTriggerType.ConvertLegacyData() instead if you need to support trigger types from a legacy version of your plugin. Radio button style SelectListView value is not saved to .ini when updated on JUI pages (PSDK-45) (GitHub Issue 73) Prevent update view being called when selecting the already selected choice from a SelectListView on JUI pages (PSDK-53)"
},
"release_notes/pluginsdk_releasenotes_1_2_0_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_2_0_0.html",
"title": "Plugin SDK v1.2.0.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.2.0.0 Release Notes This release is focused on supporting category management and enhancing the options for showing Device Configuration pages. Add methods for category management (PSDK-17) (GitHub Issue 47) Add IHsController.CreateCategory() Add IHsController.GetAllCategories() Add IHsController.GetCategoryNameById() Add IHsController.GetCategoryImageById() Add IHsController.GetRefsByCategoryId() Add IHsController.SetImageForCategoryById() Add IHsController.SetNameForCategoryById() Add IHsController.SetRefsForCategoryById() Add IHsController.AddRefToCategory() Add IHsController.AddRefsToCategory() Add IHsController.RemoveRefFromCategory() Add IHsController.RemoveRefsFromCategory() Add AbstractPlugin.HasJuiDeviceConfigPage() to give a plugin the option to show a page for a particular device or not (PSDK-92) Fix KeyNotFoundException when accessing certain valid controls in a StatusControlCollection (PSDK-87) (GitHub Issue 93) Change default feature Misc flags to include EMiscFlag.SetDoesNotChangeLastChange (PSDK-90)"
},
"release_notes/pluginsdk_releasenotes_1_2_1_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_2_1_0.html",
"title": "Plugin SDK v1.2.1.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.2.1.0 Release Notes This release is focused on bug fixes related to device management. IPlugin.HasJuiDeviceConfigPage() is now virtual. The virtual keyword was improperly left off in the last release. (PSDK-107) Changed the behavior of location methods in factory classes to permit empty strings. (PSDK-98) DeviceFactory.WithLocation() DeviceFactory.WithLocation2() FeatureFactory.WithLocation() FeatureFactory.WithLocation2() Remove obsolete ProductImage references. (PSDK-109)"
},
"release_notes/pluginsdk_releasenotes_1_2_2_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_2_2_0.html",
"title": "Plugin SDK v1.2.2.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.2.2.0 Release Notes This release has a mixed focus on restoring some previously deprecated HS3 methods, used for things like speech and global variable management, as well as various bug fixes. Add methods used for speech processing (PSDK-121) Add IHsController.Speak() Add IHsController.IsSpeakerBusy() Add methods used for global variable management (PSDK-119) (GitHub Issue 142) Add IHsController.CreateVar() Add IHsController.DeleteVar() Add IHsController.GetVar() Add IHsController.SaveVar() Add IHsController.DecryptString() so plugins can access data stored previously with HS3 (PSDK-97) Add FeatureFactory.WithoutMiscFlag() (PSDK-114) Update IHsController.GetDeviceWithFeaturesByRef() so that it properly returns when values for 0 and 100 are defined (PSDK-82) Update JsonError to inherit from JsonResponse (PSDK-113) Fix blank or missing exceptions being thrown across HSCF Mark all exceptions defined within the SDK as Serializable (PSDK-117) (GitHub Issue 129) Update HSCF.dll to match latest included with HS4 v4.1.11.0 (PSDK-123) Update EventData , EventGroupData , and EventTriggerGroupData so they properly serialize (GitHub Issue 145) (PSDK-122) Fix ViewCollectionHelper.RemoveViewById() (GitHub Pull 122) (GitHub Issue 95) (PSDK-125)"
},
"release_notes/pluginsdk_releasenotes_1_2_3_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_2_3_0.html",
"title": "Plugin SDK v1.2.3.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.2.3.0 Release Notes This release is focused on restoring some previously deprecated HS3 methods as well as various bug fixes. Add IHsController.IsScriptRunning() (PSDK-127) Add IHsController.IsMediaPlaying() (PSDK-128) Add IHsController.SendEmail() (PSDK-129) Add IHsController.GetVolume() (PSDK-133) Add IHsController.GetSpeakerInstanceList() (PSDK-134) Update documentation to clarify on the use of plugin ID vs legacy plugin name (PSDK-120) (GitHub Issue 141) (GitHub Issue 148) IHsController.GetActionsByInterface() IHsController.GetTriggersByInterface() IHsController.UpdatePlugAction() IHsController.UpdatePlugTrigger() IHsController.TriggerMatches() IHsController.GetTriggersByType() IHsController.TriggerFire() Update StatusGraphic.TryGetLabelForValue() and StatusGraphic.GetLabelForValue() so a label is always returned if it is set (PSDK-131) Fix KeyNotFoundException when accessing certain valid values with StatusGraphicCollection.ContainsValue() (PSDK-132)"
},
"release_notes/pluginsdk_releasenotes_1_2_4_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_2_4_0.html",
"title": "Plugin SDK v1.2.4.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.2.4.0 Release Notes This release is focused on correcting some of the behavior of the StatusGraphics and StatusControls. Fix a bug where updating HsFeature.AdditionalStatusData using IHsController.UpdateFeatureByRef() throws an exception when it shouldn't. (PSDK-136) Simplify StatusGraphicCollection.ContainsValue() and StatusControlCollection.ContainsValue() methods to improve processing time (PSDK-142) Add methods to StatusGraphic and ValueRange (PSDK-143) Add StatusGraphic.GetTargetValue() Add StatusGraphic.Clone() Add ValueRange.Clone()"
},
"release_notes/pluginsdk_releasenotes_1_2_5_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_2_5_0.html",
"title": "Plugin SDK v1.2.5.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.2.5.0 Release Notes This release contains changes to the way IDs are processed as well as some new methods and changes to existing ones. Change ID handling for plugins and JUI views. (PSDK-140) (GitHub Issue 178) !\"#$%&'()*+,/:;<=>?@[]^`{|}~ and space are all considered special characters that should not be used. The existence of certain special characters in plugin IDs is causing undesired behavior. This includes previously accepted characters like '_' (underscores). We will be updating the list of restricted characters over time to ensure that all plugins can shift if needed. We understand that this is not easy to handle if your plugin manages devices or events, and we are working on additional tools for you to use if you do need to make changes to your IDs. This change starts with warnings written to the HS logs if a special character is detected in a plugin ID only while in developer mode. At a future date, this will change to stop plugins from running if they are using a special character in their ID. JUI view IDs with special characters like '.' may cause javascript errors during runtime. To reduce the likelihood of these errors, all JUI javascript code has been adjusted to use '-' in place of '.' and you will now receive a warning in the HS logs (while in developer mode) if a special character is detected in a view ID. Add methods and fields to allow access to the legacy Code field on devices. HS3 supported an Address and Code field, but the Code field has been deprecated. The Address and Code fields used to also be combined into a single string with the format of ADDRESS-CODE. The pseudocode for this is \"${ADDRESS}-${CODE}\".Trim('-'); To maintain backwards compatibility support, the Address field will be overloaded with the Code for devices created using HS3. (PSDK-22) (GitHub Issue 59) Add AbstractHsDevice.Code Add AbstractHsDevice.GetAddressFromAddressString() Add AbstractHsDevice.GetCodeFromAddressString() Add IHsController.GetFeatureByCode() Add IHsController.GetDeviceByCode() Update cross-plugin functionality. (PSDK-77) (PSDK-78) (GitHub Issue 79) Add IHsController.PluginPropertyGet() Add IHsController.LegacyPluginPropertyGet() Add IHsController.PluginPropertySet() Add IHsController.LegacyPluginPropertySet() Update method signature for IPlugin.PluginPropertyGet() and AbstractPlugin.PluginPropertyGet() to remove unused 'params' parameter."
},
"release_notes/pluginsdk_releasenotes_1_3_0_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_3_0_0.html",
"title": "Plugin SDK v1.3.0.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.3.0.0 Release Notes This release focuses on changes to JUI and Devices as well as making sure all members of the Devices namespace have documentation now. A new project PluginSdkTests has been included to hold unit tests as they are added. This release also includes preview changes for HS4.2. Add new HomeSeer.Jui.Views Add TimeSpanView (PSDK-1) (GitHub Issue 147) (GitHub Issue 72) Add GridView (PSDK-57) Add TextAreaView (PSDK-151) (GitHub Issue 197) Add IHsController.SendControlForFeatureByString() (PSDK-91) Add IPlugin.SupportsConfigFeature property to allow plugins to display a config page unique to a feature instead of always going to the owning device's config page (PSDK-152) (GitHub Issue 86) Add methods to DeviceFactory and FeatureFactory Add DeviceFactory.WithAddress() (PSDK-156) Add DeviceFactory.WithoutMiscFlags() (PSDK-157) Add FeatureFactory.AddGraphic(StatusGraphic) (PSDK-164) Move Devices.EEnergyFeatureSubType to Devices.Identification.EEnergyFeatureSubType . Active references to Devices.EEnergyFeatureSubType in compiled code have been tested and will work without any problems (PSDK-163) Fix some bugs Fix issue preventing values for InputViews from being retrieved from INI (PSDK-155) Add exception to ValueRange constructor when min is greater than max to avoid creating a bad object (PSDK-170) Change precision of floating point number comparisons from 1E-20 to 1E-15 because Doubles lose precision at 1E-16 (PSDK-171) (GitHub Issue 198) Remove AbstractStatus because it isn't being used (PSDK-169) Update documentation (PSDK-158) All Devices namespace members have documentation Applied warnings to the use of EControlType.StatusOnly and EControlType.ButtonScript to properly indicate that they are read only at this time. Applied a warning to the use of EControlType.Values to indicate that its exact use is being worked on and to expect changes in future releases Applied a warning to the use of EControlType.ValueRangeDropDown to indicate that it is currently inoperable All device related methods in IHsController have documentation Add HS4.2 preview code providing more granular control of the display of features on a device (PSDK-118) (GitHub Issue 153) Add EFeatureDisplayType Add HsDevice.FeatureDisplayPriority Add HsDevice.GetFeaturesInDisplayOrder() Add HsFeature.DisplayPriority Add HsFeature.DisplayType Add EProperty.FeatureDisplayPriority and EProperty.FeatureDisplayType Add FeatureFactory.WithDisplayType()"
},
"release_notes/pluginsdk_releasenotes_1_3_1_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_3_1_0.html",
"title": "Plugin SDK v1.3.1.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.3.1.0 Release Notes This release focuses on changes to ensure that HS Platform v4.2 is ready for release. Add internal method HsFeature.SetDisplayPriority() so that the HS Platform can properly populate the DisplayPriority field when delivering device/feature data to a plugin. (PSDK-193) Add new flags to devices and events to allow controlling access to Amazon and Google individually. This is, by default, off. It is recommended to keep this an \"opt in\" process - meaning ask users before enabling access - to make sure users have a say in how their devices and events are exposed to these systems. (PSDK-204) Add EMiscFlag.GoogleDiscoveryEnabled Add EMiscFlag.AmazonDiscoveryEnabled Add EEventFlag.GoogleDiscoveryEnabled Add EEventFlag.AmazonDiscoveryEnabled Fix ValueRange.IsValueInRange() so that it properly reports on values at both upper and lower ranges. (PSDK-196) Fix an issue with AbstractHsDevice.Changes removing duplicate values unexpectedly. (PSDK-159) Update build configurations to better support automated testing. Renamed Release and Debug configurations to HS-Release and HS-Debug, and added a new Release and Debug configuration."
},
"release_notes/pluginsdk_releasenotes_1_4_0_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_4_0_0.html",
"title": "Plugin SDK v1.4.0.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.4.0.0 Release Notes This release focuses on changes to Devices and JUI. Documentation has been updated and more unit tests have been added. All of the plugin samples have been moved to the samples directory. Contribution guidelines and a C# code style guide have also been added. ( CONTRIBUTION_GUIDELINES ) [PSDK-144] GitHub #184 - Add a replacement for the HS3 call CAPIGetStatus [PSDK-233] - AbstractHsDevice.Image did not represent what was documented. It now represents the current status image of the device/feature. [PSDK-234] - AbstractHsDevice.Status does not represent what is documented. Use StatusString and DisplayedStatus instead [PSDK-235] - Add StatusString and DisplayedStatus to AbstractHsDevice [PSDK-236] - Add EProperty.DisplayedStatus and EProperty.StatusString [PSDK-147] - Move sample plugin source to PSDK samples directory [PSDK-153] GitHub #200 - Clarify on how PlugExtraData is used [PSDK-240] - Add GetNamed(string) and GetUnNamed(int) to PlugExtraData [PSDK-246] - Add PlugExtraData.AddNamed<TData>(string key, TData data) [PSDK-254] - Add PlugExtraData.AddUnNamed<TData>(TData data) [PSDK-182] - Replace HSEvent with Systems.EHsSystemEvent [PSDK-202] - Add NavigateButtonView JUI View [PSDK-210] GitHub #209 - Double quotes in InputView values not rendered [PSDK-213] - Add search box to JUI SelectListView drop down [PSDK-214] GitHub #130 - Make PluginFunction , PluginPropertyGet and PluginPropertySet virtual [PSDK-216] GitHub #238 - Add FeatureFactory.WithAddress() [PSDK-217] GitHub #239 - Add default text customization to SelectListView drop downs [PSDK-218] GitHub #104 - Implement InputView Date and Time types [PSDK-227] - Replace Scheduler.ConfigChangeType with Systems.EConfigChangeTarget [PSDK-228] - Swap EAccessLevel.RequiresLicense (was 2) and EAccessLevel.AcceptsLegacyLicense (was 4) [PSDK-229] - Fix Documentation for ViewGroupCollectionHelper [PSDK-231] - Replace Scheduler.Delete_Add_Change with Systems.EConfigChangeAction [PSDK-239] - Add contribution guidelines and code style guide - CONTRIBUTION_GUIDELINES [PSDK-244] - Fix documentation for EMiscFlag.SetDoesNotChangeLastChange [PSDK-257] - SelectListView Selection can be set to an invalid value [PSDK-258] - TextAreaView allows invalid row counts [PSDK-259] - InputView name is not always checked [PSDK-260] - InputView set value does not check input type Added unit tests [PSDK-192] - Add unit tests for PlugExtraData [PSDK-221] - Add unit tests for JUI views AbstractView InputView LabelView SelectListView TextAreaView ToggleView [PSDK-253] - NavigateButtonView"
},
"release_notes/pluginsdk_releasenotes_1_4_1_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_4_1_0.html",
"title": "Plugin SDK v1.4.1.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.4.1.0 Release Notes This release focuses on minor fixes and the addition of more samples. New examples have been added to sample plugins (PSDK-197) - Add example battery-powered sensor devices to the sample plugins. (PSDK-266) GitHub #269 - Example thermostat devices have been added to demonstrate how they should be defined to make the best use of the HomeSeer platform features. (PSDK-273) - Add samples for the NavigateButtonView JUI view. (PSDK-274) - Add samples for EInputType.Date and EInputType.Time type InputViews . (PSDK-267) - Add FeatureFactory.AddControl(StatusControl) (PSDK-268) - Fix FeatureFactory.AddGraphic incorrectly throwing an ArgumentException (PSDK-269) GitHub #265 - Remove preview material notes from DisplayPriority and DisplayType Add FeatureFactory unit tests"
},
"release_notes/pluginsdk_releasenotes_1_4_2_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_4_2_0.html",
"title": "Plugin SDK v1.4.2.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.4.2.0 Release Notes This release focuses on minor changes to the events package, devices package, samples, and unit tests. More changes to events will be coming very soon. (PSDK-263) GitHub #152 Allow plugins more access to action and trigger type collections Make TriggerTypeCollection.GetObjectFromActInfo public Make ActionTypeCollection.GetObjectFromTrigInfo public Add ActionTypeCollection.ActionTypes Add TriggerTypeCollection.TriggerTypes (PSDK-264) Add methods to get a control by EControlUse to StatusControlCollection and HsFeature Add StatusControlCollection.GetControlsForUse and HsFeature.GetControlsForUse Add StatusControlCollection.GetFirstControlForUse and HsFeature.GetFirstControlForUse Add StatusControlCollection.HasControlForUse and HsFeature.HasControlForUse (PSDK-275) Add EControlUse.IncrementValue and EControlUse.DecrementValue (PSDK-278) GitHub #279 Improve exception messages in ViewCollectionHelper and SettingsCollection (PSDK-279) Fix compilation of sample plugins by using SpecificVersion=False for the references to the PluginSdk and HSCF assemblies (PSDK-288) Add a null check to StatusControlCollection.Remove so that it does not throw an exception (PSDK-289) Add AbstractTriggerType.Equals and AbstractTriggerType.GetHashCode Add more unit tests (PSDK-189) Add unit tests for StatusControlCollection (PSDK-222) Add unit tests for AbstractActionType (PSDK-223) Add unit tests for AbstractTriggerType (PSDK-284) Add unit tests for ActionTypeCollection (PSDK-285) Add unit tests for TriggerTypeCollection (PSDK-286) Add unit tests for TrigActInfo Update TrigActInfo documentation"
},
"release_notes/pluginsdk_releasenotes_1_4_3_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_4_3_0.html",
"title": "Plugin SDK v1.4.3.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.4.3.0 Release Notes This release is focused on updates to the JUI framework to improve performance and make it more flexible. This includes backend changes to the way data is managed for events. Changes to GridView GridViews with SelectListViews inside of them were not behaving correctly in event actions and triggers. GridViews should now behave as expected. (PSDK-291) ( #314 ) GridRow.HorizontalAlignment and GridRow.VerticalAlignment properties have been added to allow you to change the content alignment within a GridView GridRow . Use the enums EHorizontalAlignment and EVerticalAlignment . (PSDK-295) Add GridRow.HorizontalAlignment Add GridRow.VerticalAlignment Add EHorizontalAlignment Add EVerticalAlignment GridViews did not align with other views correctly due to some extra padding being added into their HTML. This padding has been removed to better align the view on pages. (PSDK-297) Changes to SelectListView Add SelectListView.UseOptionKeyAsSelectionValue to allow SelectListView to use the option key as the value of the option in HTML (PSDK-299) Include OptionKeys in SelectListView when posted back from HS in OnDeviceConfigChange (PSDK-101) ( #124 #201 #223 ) Change how plugin triggers and actions are saved to events.json. Previously, the whole page (i.e. collection of JUI views) was serialized and saved to events.json. This was causing some problems for select lists that contain dynamic data (such as a list of devices) because the entire select list is loaded from JSON and no call to the plugin is made to refresh it. Now, we only save a list of key/value pairs to events.json, where the key is the id of the view and the value is the return from AbstractView.GetStringValue() (the same thing as the dictionary returned by Page.ToValueMap() ), and rely on the plugin the provide the translated list of key/value pairs to display to the user. This behavior is automatically handled using AbstractActionType and AbstractTriggerType , and AbstractActionType2 and AbstractTriggerType2 have been added to allow you finer control over this behavior. The sample plugin has been updated to include an example of this; see the \"Write Device PED to Log\" event action. (PSDK-298) (PSDK-303) Add AbstractActionType2 Add AbstractTriggerType2"
},
"release_notes/pluginsdk_releasenotes_1_4_4_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_4_4_0.html",
"title": "Plugin SDK v1.4.4.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.4.4.0 Release Notes This release includes some minor changes to EventData and ValueRange . Add new flags to EventData . (PSDK-280) Add EventData.FlagVoiceCommand Add EventData.FlagGoogleDiscoveryEnabled Add EventData.FlagAlexaDiscoveryEnabled Add ValueRange.Divisor property. Use this to control the displayed values in dropdown list controls. (Resolves #281 ) (PSDK-112) By default, values are displayed as whole numbers in controls. Each value is separated by 1 whole number. Using the divisor, each value will be separated by (1 / divisor). Please Note This is not a permanent solution and the implementation of the Divisor property will change in the future."
},
"release_notes/pluginsdk_releasenotes_1_5_0_0.html": {
"href": "release_notes/pluginsdk_releasenotes_1_5_0_0.html",
"title": "Plugin SDK v1.5.0.0 Release Notes | HomeSeer PluginSdk Docs",
"keywords": "Plugin SDK v1.5.0.0 Release Notes This release contains a small change to devices and an update to Newtonsoft. The Version was exposed on AbstractHsDevice . This property can be used to seamlessly migrate devices from a legacy configuration without having to recreate the entire device. This ensures that existing events and other links to that device remain the same. When setting the Version property to \"4.0\", make sure you clear all StatusControls and StatusGraphics on HsDevices first. For HsFeatures , recreate the StatusControls and StatusGraphics before setting the Version . Update Newtonsoft to v13.0.3 Add AbstractHsDevice.Version Add EProperty.Version"
}
}