SmartHomeAttribute
NUGU스마트홈을 통해 스마트홈 기기를 제어할 때 Capability나 Directive에 따라 포함되는 Attributes가 있습니다. SmartHome Attributes는 다양한 사용자 발화에 대응하여 아래와 같이 사용자 발화 데이터를 정규화하여 SmartHomeBackendProxy에 제어 요청을 보낼 때 포함합니다. IoT ServiceProvider는 지원하고자 하는 기능에 맞는 Directive가 어떠한 Attribute를 갖는지 확인하고 지원할 Attribute를 선택해야 합니다.

Attribute List

SmartHomeAttribute
Description
설정하고자 하는 airflowType의 사용자 발화 정보. 해당 parameter의 value는 Device Discovery 당시 Response한 supprtedAirflowTypes 중 하나로 요청됩니다.
airflowType을 몇 단계 조절할지에 대한 사용자 발화 정보입니다. 해당 parameter가 없을 경우에는 1단계를 올리도록 설정해야 합니다.
사용자가 SmartHomeDevice에 설정하고자 하는 밝기의 발화 정보입니다. 1부터 100까지 설정할 수 있습니다.
설정 밝기를 몇 단계 조절지에 대한 사용자 발화 정보입니다. 해당 정보가 없을 경우 1단계를 올리도록 설정합니다.
colorType
사용자가 SmartHomeDevice에 설정하고자 하는 색상 정보입니다.
사용자가 SmartHomeDevice에 설정하고자 하는 자체설정온도의 발화정보입니다.
사용자가 SmartHomeDevice에 설정하고자 하는 습도의 발화 정보입니다. %단위입니다.
설정습도를 몇 % 조절지에 대한 사용자 발화 정보입니다. 해당 정보가 없을 경우 humidityStep만큼 올리도록 설정합니다.
mode
설정하고자 하는 mode의 사용자 발화 정보, 해당 parameter의 value는 Device Discovery 당시 응답한 supportedModes 중 하나로 요청됩니다.
사용자가 SmartHomeDevice에 설정하고자 하는 온도(섭씨)의 발화 정보입니다.
설정온도를 몇 도(섭씨) 올릴지에 대한 사용자 발화 정보입니다. 해당 정보가 없을 경우에는 temperatureStep만큼 올리도록 설정합니다.

Attribute Details

IoT ServiceProvider 및 제품에 따라 지원하는 Attribute 값이 상이할 수 있습니다. 이 경우 하기의 Attribute 중 적합한 값을 선택해 제어할 것을 권장합니다.

airflowType

설정하고자 하는 풍량 및 풍속의 정보입니다. Device Discovery 당시 응답한 supprtedAirflowTypes 중 하나로 요청됩니다.
지원풍량정보
AirflowType
AirflowType Code
미풍
BREEZE
약풍
LOW
중풍
MIDDLE
강풍
HIGH
터보
TURBO
파워
POWERWIND
수면풍, 취침풍
SLEEPINGWIND
쾌면풍
PLEASANTSLEEP
자연
NATURALWIND
자동풍
AUTOWIND
1단(계)
SPEED1
2단(계)
SPEED2
3단(계)
SPEED3
4단(계)
SPEED4
5단(계)
SPEED5
Attribute 사용 예시
1
SetAirflow Directive Control Request 예시 (POST, /nugu/v1/capabilities/{Capability}/directives/{Directive})
2
3
4
{
5
"version":1,
6
"requestId":"20190916109ad8219c251742859c56f6ec3c4700bb",
7
"action":{
8
"command":{
9
"smartHomeCapability":"AirflowControl",
10
"smartHomeDirective":"SetAirflow",
11
"parameters":{
12
"airflowType":"LOW",
13
"rawAirflowType":"약풍"
14
}
15
},
16
"smartHomeDevices":[
17
{
18
"id":"1234567",
19
"deviceTypeCode":"AIR_CONDITIONER",
20
"deviceTypeName":"에어컨",
21
"deviceModelName":"example air_conditioner",
22
"friendlyNameSuggestion":"거실",
23
"manufacturer":"example manufacturer",
24
"supportedCapabilities":{
25
"airflowControl":{
26
"supportedAirflowTypes":[
27
"HIGH",
28
"MIDDLE",
29
"LOW",
30
"AUTO"
31
]
32
}
33
},
34
"customData":{
35
"foo":"bar"
36
}
37
}
38
]
39
},
40
"context":{
41
"session":{
42
"id":"example_session_id",
43
"accessToken":"example_access_token"
44
}
45
}
46
}
Copied!

airflowDelta

Airflow를 몇 단계 조절할지에 대한 Attribute value입니다. 해당 Attribute가 없을 경우에는 1단계를 조절하도록 설정해야 합니다.
Increase / Decrease를 위한 AirflowType의 세기 단위 미풍 < 약풍 < 중풍 < 강풍 < 터보, 1단 < 2단 < 3단 < 4단 < 5단 순으로 조정되며 이외에는 세기 단위에 포함되지 않은 특수풍으로 구분합니다.
Attribute 사용 예시
1
IncreaseAirflow Directive Request 예시 (POST, /nugu/v1/capabilities/{Capability}/directives/{Directive})
2
3
4
{
5
"version":1,
6
"requestId":"20190916109ad8219c251742859c56f6ec3c4700bb",
7
"action":{
8
"command":{
9
"smartHomeCapability":"AirflowControl",
10
"smartHomeDirective":"IncreaseAirflow"
11
},
12
"smartHomeDevices":[
13
{
14
"id":"1234567",
15
"deviceTypeCode":"AIR_CONDITIONER",
16
"deviceTypeName":"에어컨",
17
"deviceModelName":"example air_conditioner",
18
"friendlyNameSuggestion":"거실",
19
"manufacturer":"example manufacturer",
20
"supportedCapabilities":{
21
"airflowControl":{
22
"supportedAirflowTypes":[
23
"HIGH",
24
"MIDDLE",
25
"LOW",
26
"AUTO"
27
]
28
}
29
},
30
"customData":{
31
"foo":"bar"
32
}
33
}
34
]
35
},
36
"context":{
37
"session":{
38
"id":"example_session_id",
39
"accessToken":"example_access_token"
40
}
41
}
42
}
Copied!

brightnessLevel

설정하고자 하는 스마트홈 기기의 밝기 정보입니다. 1부터 100 단계 백분율 정보로 설정할 수 있습니다.
Attribute 사용 예시
1
SetBrightness Directive Request 예시 (POST, /nugu/v1/capabilities/{Capability}/directives/{Directive})
2
3
4
{
5
"version": 1,
6
"requestId": "201909301991140f5a1e97441fa76a699284bc6035",
7
"action": {
8
"command": {
9
"smartHomeCapability": "BrightnessControl",
10
"smartHomeDirective": "SetBrightness",
11
"brightnessLevel": 30
12
},
13
"smartHomeDevices": [
14
{
15
"id": "123456",
16
"deviceTypeCode": "LIGHT",
17
"friendlyName": "거실",
18
"deviceTypeName": "조명",
19
"deviceModelName": "example_device_model_name",
20
"customData": {
21
"foo": "bar"
22
},
23
"supportedCapabilities": {
24
"powerControl": {},
25
"colorControl": {},
26
"brightnessControl": {}
27
}
28
}
29
]
30
},
31
"context": {
32
"session": {
33
"id": "example_session_id",
34
"accessToken": "example_access_token"
35
}
36
}
37
}
Copied!

brightnessDelta

스마트홈 기기에 설정된 밝기를 몇 단계 조절할지에 대한 정보입니다. 해당 정보가 없을 경우 1단계를 조절합니다.
Attribute 사용 예시
1
IncreaseBrightness Directive Control Request 예시 (POST, /nugu/v1/capabilities/{Capability}/directives/{Directive})
2
3
4
{
5
"version": 1,
6
"requestId": "2019093019f78107f1a36147688c699703f5373a56",
7
"action": {
8
"command": {
9
"smartHomeCapability": "BrightnessControl",
10
"smartHomeDirective": "IncreaseBrightness",
11
"parameters": {
12
"brightnessDelta": 3
13
}
14
},
15
"smartHomeDevices": [
16
{
17
"id": "123456",
18
"deviceTypeCode": "LIGHT",
19
"friendlyName": "거실",
20
"deviceTypeName": "조명",
21
"deviceModelName": "example_model_name",
22
"customData": {
23
"foo": "bar"
24
},
25
"supportedCapabilities": {
26
"powerControl": {},
27
"colorControl": {},
28
"brightnessControl": {}
29
}
30
}
31
]
32
},
33
"context": {
34
"session": {
35
"id": "example_session_id",
36
"accessToken": "example_access_token",
37
"userIdentifier": "example_"
38
}
39
}
40
}
Copied!

colorType

스마트홈 기기에 설정하고자 하는 색상 정보입니다. RGB 값으로 색 정보를 표현합니다.
색상
영문코
권장 RGB 코드
파란색
BLUE
#0000ff
녹색
GREEN
#00ff00
청록색
CYAN
#00ffff
민트색
MINT
#4affee
하늘색
SKY_BLUE
#94e1ff
보라색
PURPLE
#ab23ff
라벤더색
LAVENDER
#eaebff
쿨 화이트
COOL_WHITE
#f5f3ff
살색
SALMON
#fe8374
금색
GOLD
#fed500
빨간색
RED
#ff0000
자홍색
MAGENTA
#ff00ff
진홍색
CRIMSON
#ff1846
웜 화이트
WARM_WHITE
#ff952b
오렌지색
ORANGE
#ffa600
아이보리색
SOFTWHITE
#ffaa57
핑크색
PINK
#ffbfcc
화이트
WHITE
#ffd0a4
주광색
DAY_LIGHT
#ffecde
노란색
YELLOW
#ffff00
터키색
TURQUOISE
#4affef
연보라
LIGHT_PURPLE
#eaebfe
Attribute 사용 예시
1
ChangeColor Directive Request 예시 (POST, /nugu/v1/capabilities/ColorControl/directives/ChangeColor)
2
3
4
{
5
"version":1,
6
"requestId":"20190930213631c172b5214d4abfdbeb5804d8d80d",
7
"action":{
8
"command":{
9
"smartHomeCapability":"ColorControl",
10
"smartHomeDirective":"ChangeColor",
11
"parameters":{
12
"colorType":"#ffff00"
13
}
14
},
15
"smartHomeDevices":[
16
{
17
"id":"12345",
18
"deviceTypeCode":"LIGHT",
19
"friendlyName":"거실",
20
"deviceTypeName":"조명",
21
"deviceModelName":"example_device_model_name",
22
"customData":{
23
"foo":"bar"
24
},
25
"supportedCapabilities":{
26
"powerControl":{},
27
"colorControl":{},
28
"colorControl": {
29
"supportedColorTypes" : [
30
"BLUE",
31
"GREEN",
32
"CYAN",
33
"MINT",
34
"SKYBLUE",
35
"PURPLE",
36
"LAVENDER",
37
"COOL_WHITE",
38
"SALMON",
39
"GOLD",
40
"RED",
41
"MAGENTA",
42
"CRIMSON",
43
"WARM_WHITE",
44
"ORANGE",
45
"SOFTWHITE",
46
"PINK",
47
"WHITE",
48
"DAY_LIGHT",
49
"YELLOW",
50
"TURQUOISE",
51
"LIGHT_PURPLE"
52
] // 지원 가능한 ColorType 타입 참고.
53
},
54
"brightnessControl":{}
55
}
56
}
57
]
58
},
59
"context":{
60
"session":{
61
"id":"example_session_id",
62
"accessToken":"example_access_token"
63
}
64
}
65
}
Copied!

deviceTemperatureLevel

스마트홈 기기 자체에 설정하고자 하는 온도 정보입니다. 냉장고, 오븐 등과 같이 스마트홈 기기가 자체 온도를 가질 경우를 지원합니다.
Attribute 사용 예시
1
SetDeviceTemperatureLevel Directive Request 예시 (POST, /nugu/v1/capabilities/{Capability}/directives/{Directive})
2
3
4
{
5
"version": 1,
6
"requestId": "2019071712638a4378649347bdb21643127a0f6d83",
7
"action": {
8
"command": {
9
"smartHomeCapability": "DeviceTemperatureControl",
10
"smartHomeDirective": "SetDeviceTemperature",
11
"parameters":{
12
"temperatureLevel": "120.0"
13
}
14
},
15
"smartHomeDevices": [
16
{
17
"id":"12345678",
18
"deviceTypeCode":"OVEN",
19
"deviceModelName":"example oven",
20
"friendlyName":"조리실",
21
"deviceTypeName":"오븐",
22
"customData":{
23
"foo": "bar"
24
}
25
]
26
},
27
"context": {
28
"session": {
29
"id": "example_session_id",
30
"accessToken": "example_access_token"
31
}
32
}
33
}
Copied!

humidityLevel

스마트홈 기기에 설정하고자 하는 습도 정보입니다. 백분율 단위로 표현합니다.
Attribute 사용 예시
1
SetHumidity Directive Request 예시 (POST, /nugu/v1/capabilities/HumidityControl/directives/SetHumidity)
2
3
4
{
5
"version": 1,
6
"requestId": "20190916109ad8219c251742859c56f6ec3c4700bb",
7
"action": {
8
"command": {
9
"smartHomeCapability": "HumidityControl",
10
"smartHomeDirective": "SetHumidity",
11
"parameters": {
12
"humidityLevel": "40"
13
}
14
},
15
"smartHomeDevices": [
16
{
17
"id": "D1234567",
18
"type": "DEHUMIDIFICATION",
19
"modelName": "example dehumidification",
20
"friendlyNameSuggestion": "거실",
21
"manufacturer": "example manufacturer",
22
"supportedCapabilities": {
23
"humidityControl": {}
24
},
25
"customData": {
26
"foo": "bar"
27
}
28
}
29
]
30
},
31
"context": {
32
"session": {
33
"id": "example_session_id",
34
"accessToken": "example_access_token"
35
}
36
}
37
}
Copied!

humidityDelta

스마트홈 기기에 설정된 습도를 몇 % 조절할지에 대한 정보입니다. 백분율 단위로 표현합니다.
Attribute 사용 예시
1
IncreaseHumidity Directive Request 예시 (POST, /nugu/v1/capabilities/HumidityControl/directives/IncreaseHumidity)
2
3
4
{
5
"version": 1,
6
"requestId": "20190916109ad8219c251742859c56f6ec3c4700bb",
7
"action": {
8
"command": {
9
"smartHomeCapability": "HumidityControl",
10
"smartHomeDirective": "IncreaseHumidity",
11
"parameters": {
12
"humidityDelta": "10"
13
}
14
},
15
"smartHomeDevices": [
16
{
17
"id": "D1234567",
18
"type": "DEHUMIDIFICATION",
19
"modelName": "example dehumidification",
20
"friendlyNameSuggestion": "거실",
21
"manufacturer": "example manufacturer",
22
"supportedCapabilities": {
23
"humidityControl": {}
24
},
25
"customData": {
26
"foo": "bar"
27
}
28
}
29
]
30
},
31
"context": {
32
"session": {
33
"id": "example_session_id",
34
"accessToken": "example_access_token"
35
}
36
}
37
}
Copied!

mode

스마트홈 기기를 특정 모드로 설정하고자 할 때 제어 대상 스마트홈 기기에 설정할 모드 정보입니다. NUGU스마트홈에서 지원하는 SmartHomeDeviceType별 모드 정보는 아래와 같습니다.
MODE
Code
냉방모드
COLD
난방모드
HEAT
제습모드
DEHUMIDITY
송풍모드
AIR_BLAST
쾌적모드
COMFORT
쾌적뽀송모드
COMFORT_SOFT
스마트쾌적모드
SMART_COMFORT
둘레바람모드
INDIRECT_WIND
아기모드
BABY
자동모드
AUTO
아로마모드
AROMA
절전모드
ENERGY_SAVING
실내난방모드
HEAT_ROOM
외출모드
OUTSIDE
온수전용모드
HOTWATER_ONLY
온돌난방모드
HEAT_FLOOR
수동모드
HAND
급속모드
RAPIDITY
황사모드
YELLOW_DUST
취침모드
SLEEP
청정모드
CLEAN
정음모드
SILENT
저소음모드
LOW_NOISE
가습청정모드
HUMIDIFICATION_AIR_CLEAN
순환청정모드
CIRCULAR_AIR_CLEAN
베이비케어모드
BABY_CARE
듀얼청정모드
DUAL_AIR_CLEAN
공부모드
STUDY
터보모
TURBO
에어워셔모드
AIR_WASHER
HEPA에어워셔모드
HEPA_AIR_WASHER
공기청정모드
AIR_CLEAN
포시즌모드
FOUR_SEASON
쾌적제습모드
COMPORT_DEHUMIDIFICATION
빨래건조모드
WASHING_DRY
쾌면모드
SLEEP
자동제습모드
AUTO_DEHUMIDIFICATION
수동제습모드
HAND_DEHUMIDIFICATION
의류건조모드
CLOTHES_DRY
신발건조모드
SHOES_DRY
정숙모드
QUIET
연속제습모드
CONTINUITY_DEHUMIDIFICATION
연속모드
CONTINUITY
정숙연속모드
QUIET_CONTINUITY
급속냉동모드
RAPID_FREEZE
특급모드
EXPRESS
스마트파워모드
SMART_POWER
차일드락모드
CHILD_LOCK
음소거모드
MUTE
반복예약난방모드
REPEAT_BOOKING_HEAT
온수모드
HOTWATER
자동무풍모드
AUTO_NOWIND
24시간 예약난방모드
24_PREHEATING
냉방PMV모드
COOLING_PMV
쾌속모드
FAST
스마트 모드
SMART
Attribute 사용 예시
1
SetMode Directive Request 예시 (POST, /nugu/v1/capabilities/ModeControl/directives/SetMode)
2
3
4
{
5
"version": 1,
6
"requestId": "20190916109ad8219c251742859c56f6ec3c4700bb",
7
"action": {
8
"command": {
9
"smartHomeCapability": "ModeControl",
10
"smartHomeDirective": "SetMode",
11
"parameters": {
12
"mode": "COLD"
13
}
14
},
15
"smartHomeDevices": [
16
{
17
"id": "1234567",
18
"deviceTypeCode": "AIR_CONDITIONER",
19
"deviceTypeName": "에어컨",
20
"deviceModelName": "example air_conditioner",
21
"friendlyName": "거실",
22
"manufacturer": "example manufacturer",
23
"supportedCapabilities": {
24
"modeControl": {
25
"supportedModes": [
26
"COLD",
27
"DEHUMIDITY",
28
"COMFORT",
29
"AIR_BLAST",
30
"ENERGY_SAVING"
31
]
32
}
33
},
34
"customData": {
35
"foo": "bar"
36
}
37
}
38
]
39
},
40
"context": {
41
"session": {
42
"id": "example_session_id",
43
"accessToken": "example_access_token"
44
}
45
}
46
}
Copied!
Related to ModeControl Interface

temperatureLevel

스마트홈 기기에 설정하고자 하는 주변 온도 정보입니다. 섭씨 온도 단위를 지원합니다.
Attribute 사용 예시
1
SetTemperature Directive Request 예시 (POST, /nugu/v1/capabilities/TemperatureControl/directives/SetTemperature)
2
3
4
{
5
"version": 1,
6
"requestId": "20190916109ad8219c251742859c56f6ec3c4700bb",
7
"action": {
8
"command": {
9
"smartHomeCapability": "TemperatureControl",
10
"smartHomeDirective": "SetTemperature",
11
"parameters": {
12
"temperatureLevel": "20"
13
}
14
},
15
"smartHomeDevices": [
16
{
17
"id": "1234567",
18
"deviceTypeCode": "AIR_CONDITIONER",
19
"deviceTypeName": "에어컨",
20
"deviceModelName": "example air_conditioner",
21
"friendlyName": "거실",
22
"manufacturer": "example manufacturer",
23
"supportedCapabilities": {
24
"temperatureControl": {}
25
},
26
"customData": {
27
"foo": "bar"
28
},
29
"connectionStatus": true
30
}
31
]
32
},
33
"context": {
34
"session": {
35
"id": "example_session_id",
36
"accessToken": "example_access_token"
37
}
38
}
39
}
Copied!

temperatureDelta

스마트홈 기기의 설정된 온도를 조절하기 위한 단위 표현입니다. 섭씨 온도 단위를 지원합니다.
Attribute 사용 예시
1
IncreaseTemperature Directive Request 예시 (POST, /nugu/v1/capabilities/TemperatureControl/directives/IncreaseTemperature)
2
3
4
{
5
"version": 1,
6
"requestId": "20190916109ad8219c251742859c56f6ec3c4700bb",
7
"action": {
8
"command": {
9
"smartHomeCapability": "TemperatureControl",
10
"smartHomeDirective": "IncreaseTemperature",
11
"parameters": {
12
"temperatureDelta": "3"
13
}
14
},
15
"smartHomeDevices": [
16
{
17
"id": "1234567",
18
"deviceTypeCode": "AIR_CONDITIONER",
19
"deviceTypeName": "에어컨",
20
"deviceModelName": "example air_conditioner",
21
"friendlyName": "거실",
22
"manufacturer": "example manufacturer",
23
"supportedCapabilities": {
24
"temperatureControl": {}
25
},
26
"customData": {
27
"foo": "bar"
28
},
29
"connectionStatus": true
30
}
31
]
32
},
33
"context": {
34
"session": {
35
"id": "example_session_id",
36
"accessToken": "example_access_token"
37
}
38
}
39
}
Copied!
Last modified 2mo ago