generated from homebridge/homebridge-plugin-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.schema.json
142 lines (142 loc) · 5.07 KB
/
config.schema.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
{
"pluginAlias": "NavienSmart",
"pluginType": "platform",
"singular": true,
"schema": {
"type": "object",
"properties": {
"authMode": {
"title": "Auth Mode / 로그인 방법",
"type": "string",
"default": "account",
"oneOf": [
{
"title": "Navien Account / 나비엔 계정",
"enum": [
"account"
]
},
{
"title": "Token / 토큰 로그인",
"enum": [
"token"
]
}
],
"required": true,
"description": "로그인 방법을 선택해주세요. ⚠️ 현재 간편 로그인(네이버, 카카오톡, 애플)은 지원하지 않습니다."
},
"help_1": {
"x-schema-form": {
"type": "help",
"helpvalue": "<p class='help-block'>CLI를 이용한 토큰 발급 방법은 <a href='https://github.com/kyle-seongwoo-jun/homebridge-navien-smart#cli-usage' target='_blank'>이 문서</a>를 참고해주세요.</p>"
},
"condition": {
"functionBody": "return model.authMode === 'token';"
}
},
"username": {
"title": "Username / 아이디",
"type": "string",
"required": true,
"description": "나비엔 계정의 아이디를 입력해주세요."
},
"password": {
"title": "Password / 비밀번호",
"type": "string",
"x-schema-form": {
"type": "password"
},
"condition": {
"functionBody": "return model.authMode === 'account';"
},
"description": "나비엔 계정의 비밀번호를 입력해주세요."
},
"refreshToken": {
"title": "Refresh Token",
"type": "string",
"condition": {
"functionBody": "return model.authMode === 'token';"
},
"description": "CLI에서 출력한 <code>refreshToken</code> 을 입력해주세요."
},
"accountSeq": {
"title": "Account Seq",
"type": "number",
"condition": {
"functionBody": "return model.authMode === 'token';"
},
"description": "CLI에서 출력한 <code>accountSeq</code> 을 입력해주세요."
},
"accessoryType": {
"title": "Accessory Type / 액세서리 타입",
"type": "string",
"default": "HeaterCooler",
"oneOf": [
{
"title": "Heater / 히터",
"enum": [
"HeaterCooler"
]
},
{
"title": "Thermostat / 온도 조절기",
"enum": [
"Thermostat"
]
}
],
"required": true,
"description": "애플 홈에서 보여질 액세서리 타입을 선택해주세요."
},
"soundEnabled": {
"title": "Enable Sound on Operation / 조작 시 알림 소리 활성화",
"type": "boolean",
"default": false,
"description": "선택한 경우, 조작 시 알림 소리를 활성화합니다. (지원하는 기기에 한함)"
},
"separateControl": {
"title": "Separate Control / 좌우 분리난방",
"type": "boolean",
"default": false,
"description": "선택한 경우, 좌우 분리난방을 지원합니다. (지원하는 기기에 한함)"
},
"displayName": {
"title": "Display Name / 애플 홈 상 이름",
"type": "array",
"items": {
"type": "object",
"properties": {
"device": {
"title": "Device Name in Navien Smart App / 나비엔 스마트 앱에서의 기기 이름",
"type": "string",
"description": "설정하고자 하는 기기의 나비엔 스마트 앱 상의 이름을 입력해주세요. (예: 카본 매트)"
},
"mainSwitch": {
"title": "Main Switch Name / 전원 스위치 이름",
"type": "string",
"description": "애플 홈에서 보여줄 전원 스위치의 이름을 입력해주세요. (예: 카본 매트 전원)"
},
"left": {
"title": "Left Controller Name / 좌측 난방 이름",
"type": "string",
"description": "애플 홈에서 보여줄 좌측 난방의 이름을 입력해주세요. (예: 카본 매트 왼쪽 난방)"
},
"right": {
"title": "Right Controller Name / 우측 난방 이름",
"type": "string",
"description": "애플 홈에서 보여줄 우측 난방의 이름을 입력해주세요. (예: 카본 매트 오른쪽 난방)"
}
},
"required": [
"device"
]
},
"condition": {
"functionBody": "return model.separateControl;"
},
"description": "분리난방의 경우, 애플 홈에서 3개의 액세서리가 생깁니다. 여기서 액세서리 별 이름을 설정할 수 있습니다. 미설정 시, 나비엔 스마트 앱 상의 이름을 사용합니다."
}
}
}
}