MYPAGE LOGIN
개요 데이터 모델 백본 네트워크 I/F 로컬 조명 네트워크 I/F 기술지원 / Q&A

1. 개요
2. 디바이스 L-SLP API 규격
3. 코드 정의
4. 메시지 예제
1. 개요
1.1 개요

 본 문서는 스마트 조명 조명/센서 디바이스의 L-SLP(Local – Smart Lighting Profile) API(Application Programming Interface)에 대한 규격서이다.

 이 규격서는 CoAP의 Plain text 형태로 작성된다. 

1.2 관련문서

1. 스마트 조명 시스템 – 제1부 일반 요구사항, KSC7751-1
2. 스마트 조명 시스템 – 제2부 시스템 구조, KSC7751-2
3. 스마트 조명 시스템 – 제3부 주소체계, KSC7751-3
4. 스마트 조명 게이트웨이 B-SLP REST API 규격서
5. 스마트 조명 게이트웨이 B-SLP MQTT API 규격서
6. 스마트 조명 게이트웨이 L-SLP CoAP API 규격서
7. The Contrained Application Protocol (CoAP), 2014.06, IETF RFC 7252
8. Observing Resources in the Constrained Application Protocol (CoAP), 2015.09, IETF RFC 7641
9. PATCH and FETCH Methods for the Constrained Application Protocol (CoAP), 2017.04, IETF RFC 813

 

1.3 적용범위
본 CoAP기반 조명/센서 디바이스 L-SLP API 규격서는 다음과 같은 분야를 포함한다.
 
GW-조명/센서 연동
GW-UD2 연동
GW-TS2 연동
 
위에서 정의한 분야별 L-SLP API에 대해 각각 다음과 같은 사항에 대하여 기술한다.
 
CoAP기반 API 명 및 정의
요청/응답 메시지 포맷 및 파라미터
결과 코드 정의
1.4 약어

번호

약어

설명

1

GW

Gateway

2

B-SLP

Backbone Smart Lighting Profile

3

CID

Controller ID

4

CoAP

Contrained Application Protocol

5

DID

Device ID

6

GID

Group ID

7

LD

Lighting Device

8

LPV

L-SLP Profile Version

9

L-SLP

Local Smart Lighting Profile

10

PC

Produce Code

11

PID

Physical ID

12

SCID

Scene ID

13

SD

Sensor Device

14

SN

Serial Number

15

TID

Tester ID

16

TS

Tester

17

UD

User Device

18

URL

Uniform Resource Locator

19

 

 

20

 

 

 

 

 

2. 디바이스 L-SLP API 규격
2.1 API 기본 정보
2.1.1 URI-Path
스마트 조명 시스템의 조명/센서 L-SLP는 CoAP기반으로 URL-Path는 다음과 같이 3가지 종류로 구분한다.
 
Base URL (base_url): coap://host_IP[:port]
기본 URI로 조명/센서 디바이스와 1:1 연결을 요구하는 URL이다. 
Multicast URL (multi_url): coap://multicast_IP[:port]
Multicast 통신 환경을 제공하는 조명 네트워크에서 다수의 조명/센서 디바이스와 1:N 연결에 사용되는 URL이다. 
Broadcast URL (broad_url): coap://broadcast_IP[:port]
Multicast 통신을 지원하지 않는 조명 네트워크에서 사용하는 다수의 조명/센서 디바이스와 1:N 연결에 사용되는 URL이다. 
디바이스 전체/설치 탐색을 제외한 Broadcast IP로 수신되는 메시지는 오류 응답을 포함하여 모두 응답하지 않는다.
 
URL의 기본 포트번호(port)는 CoAP 기본 포트번호인 5683이며, 기본 포트번호를 사용하는 경우에는 URL에서 생략 가능하다. 
 
2.1.2 Payload
조명/센서 L-SLP의 payload 필드 항목은 다음과 같은 조건(Constraint, C)을 가진다.
 
M (Mandatory, 필수): 필수로 포함되는 항목
O (Optional, 선택): 선택적으로 포함되는 항목
CM (Conditionaly Mandatory, 조건부 필수): 선행 항목의 값에따라 필수로 포함되는 항목
 
모든 가능한 항목이 선택 항목으로 구성되어 있어도 최소한 하나이상의 항목을 Payload에 포함되어 있어야 한다. 조명/센서 L-SLP의 응답 메시지에서는 다음과 같이 payload를 구성하여야 한다.
 
응답 메시지의 Payload에는 Payload의 맨 앞에 did 항목을 제공하여야 함
Request에서 수신한 속성 및 속성값 그대로 복사 또는 did만 포함
 
2.1.3 Attribute data type
디바이스 L-SLP 항목의 값은 다음과 같은 변수형을 가진다. L-SLP 항목의 모든 값은 문자열로 처리한다.
 
String: 문자열
Int8, Int16, Int32: 10진수 문자열 (8/16/32 비트)
UInt8, UInt16, UInt32: 부호없는 10진수 문자열 (8/16/32 비트)
Hex: 16진수 문자열
Float: 소수 문자열
Object: Attribute 집합
2.2 API 기능 확장

URL에는 쿼리스트링(query string)을 사용하여 사용자 입력 데이터를 전달할 수 있다. 이러한 쿼리스트링을 통하여 API의 기능을 다양하게 확장할 수 있다.

 

2.2.1 쿼리스트링 형식

API의 엔드 포인드(end point) 주소에 “?”를 붙여 쿼리스트링의 시작을 알리고, 파라미터(parameter)와 값(value)로 구성된 파라미터 값을 추가하여 표시한다. 또한 “&”를 붙여 파라미터 값을 추가할 수 있다.

  • {base_url}/endpoint?parameter=value
  • {base_url}/endpoint?parameter1=value1&parameter2=value2

 

2.2.2 범위 제한

 

L-SLP 사용자는 URL-Path에 쿼리 파라미터로 모듈(mid) 또는 그룹(gid) 정보를 포함한 쿼리스트링을 추가함으로써 요청 범위를 제한하여 선택적으로 요청할 수 있다.

 

모듈로 제한
 
{base_url}/endpoint?mid={mid}
(ex) PATCH, {base_url}/light?mid=3 : mid=3인 모듈의 조명 상태정보 제어
 
그룹으로 제한
 
{base_url}/endpoint?gid={gid}
(ex) PATCH, {broad_url}/light?gid=10 : gid=10인 조명 상태정보 제어

 

2.2.3 속성 필터

L-SLP 사용자는 URL-Path에 특정 속성을 포함한 쿼리스트링을 추가함으로써 요청 범위를 제한하여 선택적으로 요청할 수 있다. 속성 타입이 String, Int8/16/32, Float 등 단일 속성은 “attr” 파라미터를 사용하여 필터링할 수 있다. Object와 같은 다수의 단일 속성으로 구성된 객체 속성은 “attrs” 파라미터를 사용하여 필터링할 수 있다.

 

단일 속성 필터링
 
{base_url}/endpoint?attr={attribute}
(ex) GET, {base_url}/dinfo?attr=lib : 디바이스 기본정보중 위치정보만 요청
 
객체 속성 필터링
 
{base_url}/endpoint?attrs={attribute set}
(ex) GET, {base_url}/cap?attrs=gcap : 디바이스 Capability 정보중 Group capability 정보만 요청

 

2.2.4 속성 제한

L-SLP 사용자는 URL-Path에 세부 속성의 특정 값을 포함한 쿼리스트링을 추가함으로써 요청 범위를 제한하여 선택적으로 요청할 수 있다.

 

특정 값 제한
 
{base_url}/endpoint?{attribute}={value}
(ex) GET, {base_url}/module/minfo?mclass=l : mclass가 l(조명)인 모듈들만의 모듈정보(minfo)

 

2.1.1 URI-Path

 

스마트 조명 시스템의 조명/센서 L-SLP는 CoAP기반으로 URL-Path는 다음과 같이 3가지 종류로 구분한다.
 
Base URL (base_url): coap://host_IP[:port]
기본 URI로 조명/센서 디바이스와 1:1 연결을 요구하는 URL이다. 
Multicast URL (multi_url): coap://multicast_IP[:port]
Multicast 통신 환경을 제공하는 조명 네트워크에서 다수의 조명/센서 디바이스와 1:N 연결에 사용되는 URL이다. 
Broadcast URL (broad_url): coap://broadcast_IP[:port]
Multicast 통신을 지원하지 않는 조명 네트워크에서 사용하는 다수의 조명/센서 디바이스와 1:N 연결에 사용되는 URL이다. 
디바이스 전체/설치 탐색을 제외한 Broadcast IP로 수신되는 메시지는 오류 응답을 포함하여 모두 응답하지 않는다.
 
URL의 기본 포트번호(port)는 CoAP 기본 포트번호인 5683이며, 기본 포트번호를 사용하는 경우에는 URL에서 생략 가능하다. 
 
2.1.2 Payload
조명/센서 L-SLP의 payload 필드 항목은 다음과 같은 조건(Constraint, C)을 가진다.
 
M (Mandatory, 필수): 필수로 포함되는 항목
O (Optional, 선택): 선택적으로 포함되는 항목
CM (Conditionaly Mandatory, 조건부 필수): 선행 항목의 값에따라 필수로 포함되는 항목
 
모든 가능한 항목이 선택 항목으로 구성되어 있어도 최소한 하나이상의 항목을 Payload에 포함되어 있어야 한다. 조명/센서 L-SLP의 응답 메시지에서는 다음과 같이 payload를 구성하여야 한다.
 
응답 메시지의 Payload에는 Payload의 맨 앞에 did 항목을 제공하여야 함
Request에서 수신한 속성 및 속성값 그대로 복사 또는 did만 포함
 
2.1.3 Attribute data type
디바이스 L-SLP 항목의 값은 다음과 같은 변수형을 가진다. L-SLP 항목의 모든 값은 문자열로 처리한다.
 
String: 문자열
Int8, Int16, Int32: 10진수 문자열 (8/16/32 비트)
UInt8, UInt16, UInt32: 부호없는 10진수 문자열 (8/16/32 비트)
Hex: 16진수 문자열
Float: 소수 문자열
Object: Attribute 집합
2.3 API 목록

2.3.1 리소스별 API 목록

 

구분

attribute_set

API

URI PATH

method

디바이스

dinfo

디바이스 전체 탐색

{broad_url}/dinfo?did=65535

GET

디바이스 설치 탐색

{broad_url}/dinfo?lid=0

GET

디바이스 전체정보 조회

{base_url}/

GET

디바이스 기본정보 조회

{base_url}/dinfo

GET

디바이스 기본정보 설정

{base_url}/dinfo

PATCH

identify

디바이스 식별

{base_url}/identify

PUT/

PATCH

디바이스 모듈 식별

{base_url}/identify?mid={mid}

PUT/

PATCH

디바이스 그룹 식별

{broad_url}/identify?gid={gid}

{multi_url}/identify

PUT/

PATCH

cap

디바이스 수용능력 조회

{base_url}/cap

GET

module

디바이스 전체 모듈정보 조회

{base_url}/modules

GET

디바이스 전체 모듈의 기본정보 목록 조회

{base_url}/modules/minfo

GET

modules

디바이스 개별 모듈 전체정보 조회

{base_url}/modules/{mid}

GET

디바이스 개별 모듈 기본정보 조회

{base_url}/modules/{mid}/minfo

GET

restart

디바이스 재시작

{base_url}/restart

POST

reset

디바이스 공장초기화

{base_url}/reset

POST

조명

light

조명 상태정보 조회

- 전체 조명 모듈 조회

{broad_url}/light

GET

- 개별 조명 모듈 조회

{broad_url}/modules/{mid}light

GET

조명 상태정보 변경 (조명 제어)

- 전체 조명 모듈 동일 변경

{base_url}/light

PATCH

- 전체 조명 모듈 개별 변경

{base_url}/light

PATCH

- 개별 조명 모듈 변경

{base_url}/modules/{mid}/light

PATCH

lightconfig

조명 설정정보 조회

- 전체 조명 모듈 조회

{base_url}/lightconfig

GET

- 개별 조명 모듈 조회

{base_url}/modules/{mid}/lightconfig

GET

조명 설정정보 변경

- 전체 조명 모듈 동일 변경

{base_url}/lightconfig

PATCH

- 전체 조명 모듈 개별 변경

{base_url}/lightconfig

PATCH

- 개별 조명 모듈 변경

{base_url}/modules/{mid}/lightconfig

PATCH

onconfig

조명 점등 상태정보 조회

- 전체 조명 모듈 조회

{base_url}/onconfig

GET

- 개별 조명 모듈 조회

{base_url}/modules/{mid}/onconfig

GET

조명 점등 상태정보 설정

- 전체 조명 모듈 동일 변경

{base_url}/onconfig

PATCH

- 전체 조명 모듈 개별 변경

{base_url}/onconfig

PATCH

- 개별 조명 모듈 변경

{base_url}/modules/{mid}/onconfig

PATCH

현재 조명상태의 점등 상태정보 저장

- 전체 조명 모듈 저장

{base_url}/onconfig

PUT

- 개별 조명 모듈 저장

{base_url}/modules/{mid}/onconfig

PUT

센서

sensor

센서 공통 설정정보 조회

- 전체 센서 모듈 조회

{base_url}/sensor

GET

- 특정 센서종류 조회

{base_url}/sensor?mtype={mtype}

GET

센서 개별 설정정보 조회

{base_url}/modules/{mid}/sensor

GET

센서 공통 설정정보 변경

- 전체 센서 모듈 변경

{base_url}/sensor

PATCH

- 특정 센서종류 변경

{base_url}/sensor

PATCH

센서 개별 설정정보 변경

{base_url}/modules/{mid}/sensor

PATCH

센서 출력정보 조회

- 전체 센서 모듈 조회

{base_url}/sensor?attr=value

GET

- 특정 센서종류 조회

{base_url}/sensor?mtype={mtype}&attr=value

GET

- 개별 센서 모듈 조회

{base_url}/modules/{mid}/sensor?attr=value

GET

그룹

group

그룹 등록

{base_url}/groups

POST

그룹 목록 조회

- 그룹 전체 목록 조회

{base_url}/groups

GET

- 그룹 논리주소 목록 조회

{base_url}/groups?attr=gid

GET

그룹 수용능력 조회

{base_url}/groups?attrs=gcap

GET

그룹 구성정보 조회

{base_url}/groups/{gid}

GET

그룹 구성정보 변경

{base_url}/groups/{gid}

PATCH

그룹 조명 상태정보 변경

(그룹 조명 제어)

{broad_url}/groups/{gid}/light

PATCH

그룹 조명 설정정보 변경

{broad_url}/groups/{gid}/lightconfig

PATCH

그룹 센서 설정정보 변경

{broad_url}/groups/{gid}/sensor

PATCH

그룹 삭제

- 개별 그룹 삭제

{base_url}/groups/{gid}

{broad_url}/groups/{gid}

DELETE

- 전체 그룹 삭제

{base_url}/groups/65535

{broad_url}/groups/65535

DELETE

장면

scene

장면 등록

{base_url}/scenes

POST

현재상태 장면 등록

{base_url}/scenes

POST

장면 목록 조회

- 장면 전체 목록 조회

{base_url}/scenes

GET

- 장면 논리주소 목록 조회

{base_url}/scenes?attr=scid

GET

장면 수용능력 조회

{base_url}/scenes?attrs=scap

GET

장면 설정정보 조회

{base_url}/scenes/{scid}

GET

장면 설정정보 변경

{base_url}/scenes/{scid}

PATCH

장면 호출

{broad_url}/scenes/{scid}/goto

POST

장면 삭제

- 개별 장면 삭제

{base_url}/scenes/{scid}

{broad_url}/scenes/{scid}

DELETE

- 전체 장면 삭제

{base_url}/scenes/65535

{broad_url}/scenes/65535

DELETE

고장

fault

고장 정보 조회

{base_url}/fault

GET

2.4 디바이스 공통 API

2.4.1 디바이스 전체 탐색

디바이스 전체 탐색 API는 설치시험기기(TS1) 또는 사용자 입력장치(UD1)이 스마트 조명 네트워크에 연결된 모든 디바이스를 탐색하는 API이다.

디바이스 전체 탐색 메시지를 수신한 디바이스는 모두 응답하여야 한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {broad_url}/dinfo?did=65535

Accept: text/plain

비고

- 게이트웨이 또는 사용자입력장치 type1(UD1)에서 사용

- 수신한 모든 디바이스는 응답

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

dpid

Hex(18)

M

디바이스 물리주소

pc

Hex(62)

M

디바이스 제품 코드

sn

String(10)

O

디바이스 일련번호

lid

Hex(28)

M

디바이스 위치주소

lpv

String

O

L-SLP 프로파일 버전

delay

Uint16

O

디바이스 재시작 또는 공장초기화 지연 시간

ip

String

O

IP 주소

uport

Uint16

O

L-SLP UDP 포트번호

ct

String(2)

O

디바이스 지원 Content Format

name

String

O

디바이스 이름

dfault

Uint8

O

디바이스 상태 정보

fslist

Object Array

CM

디바이스 세부 기기장애 정보

- 조건: 디바이스 상태 정보(dfault)를 제공하고 그 값이 기기장애(2), 통신불능&기기장애(3)인 경우

mid

Uint8

M

모듈 논리주소

- 모듈 논리주소가 없는 경우: 0

fcode

HexStr(8)

M

세부장애 비트 표시 정보

Payload

Example 1

did=0;

dpid=3F2F1A00000011002A;

pc=3F2F1A00000001;

sn=1712000001;

lid=0;

lpv=1.0.0;

ct=pt

연결 설정 미완료 상태인 디바이스의 응답

Payload

Example 2

did=32;

dpid=3F2F1A000000110B2A;

pc=3F2F1A00000001;

sn=1712000021;

lid=010000040A0000002F000000ED;

lpv=1.0.0;

ct=pt

연결 설정 완료 상태인 디바이스의 응답

비고

- 항목에는 3.1.1절의 ‘디바이스 정보’ 속성을 모두 포함해야 하고, 순서는 상관없음

 

 

2.4.2 디바이스 설치 탐색

디바이스 설치 탐색 API는 설치시험기기(TS1) 또는 사용자 입력장치(UD1)이 스마트 조명 네트워크에 연결된 디바이스중에서 설치가 미완료(LID 미할당)된 디바이스를 탐색하는 API이다.

위치주소(LID)를 하당받지 못한 디바이스는 모두 응답하여야 한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/dinfo?lid=0000000000000000000000000000

Accept: text/plain

비고

- 게이트웨이 또는 사용자입력장치 type1(UD1)에서 사용

- LID가 0인 모든 디바이스는 응답

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

dpid

Hex(18)

M

디바이스 고유 물리주소

pc

Hex(62)

M

제품코드

sn

String(10)

M

일련번호

lid

Hex(28)

M

디바이스 위치주소

lpv

String

CM

L-SLP API 버전

조건: L-SLP 지원 디바이스인 경우

ct

String(2)

O

Content-format

(pt:text/plain, os: octet stream)

Payload

Example 1

did=0;

dpid=3F2F1A00000011002A;

pc=3F2F1A00000001;

sn=1712000001;

lid=0000000000000000000000000000;

lpv=1.0.0;

ct=pt

모든 연결 설정이 미완료 상태인 디바이스의 응답

Payload

Example 2

did=32;

dpid=3F2F1A000000110B2A;

pc=3F2F1A00000001;

sn=1712000021;

lid=0000000000000000000000000000;

lpv=1.0.0;

ct=pt

LID만 설정 미완료 상태인 디바이스의 응답

 

비고

- 항목에는 3.1.1절의 ‘디바이스 정보’ 속성을 모두 포함해야 하고, 순서는 상관없음

 

 

2.4.3 디바이스 식별

디바이스 식별 API는 게이트웨이, 설치시험기기(TS1) 또는 사용자 입력장치(UD1)에서 디바이스 또는 그룹을 식별하기위하여 설정된 점멸 회수만큼 디바이스의 LED를 깜박거리게 하는 API이다.

디바이스 식별 API에는 디바이스 단위, 모듈 단위, 그룹 단위 식별로 구분된다.

 

1) 디바이스 식별

디바이스 단위로 식별하기 위한 API이다.

  • Request

Header

Ver

Type

Code

Options

01

CON

0.03 (PUT)

0.06 (PATCH)

URI-Path: {base_url}/identify

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

blink

Uint8

O

점멸 횟수 (범위: 1~256)

Payload

Example

blink=2

디바이스 전체 LED 2회 점멸

비고

 

               
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

blink

Uint8

O

점멸 횟수 (범위: 1~256)

Payload

Example

did=32;

blink=2

 

비고

- PUT 메소드를 사용하는 경우 빠진 항목은 NULL 또는 기본설정값 처리함

               
 

 

2) 모듈 식별

디바이스의 모듈 단위로 식별하기 위한 API인다.

  • Request

Header

Ver

Type

Code

Options

01

CON

0.03 (PUT)

0.06 (PATCH)

URI-Path: {base_url}/identify?mid={mid}

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

Payload

항목

타입(길이)

C

내용

blink

Uint8

O

점멸 횟수 (범위: 1~256)

Payload

Example

blink=2

해당 모듈만 2회 점멸

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

blink

Uint8

O

점멸 횟수 (범위: 1~256)

Payload

Example

did=32;

blink=2

 

비고

- PUT 메소드를 사용하는 경우 빠진 항목은 NULL 또는 기본설정값 처리함

               
 

 

3) 그룹 식별

그룹 단위로 식별하기 위한 API이다. 그룹 멤버 디바이스는 모두 응답하여야 한다.

방송 URL(broad_url)을 사용하는 그룹 식별 요청은 방송(broadcast) 메시지로 전송되어 다수의 메시지 수신자로부터 다수의 응답 메시지를 발생시킬 수 있다. 이런 경우 요청자는 CoAP 메시지 종류(type)를 비신뢰성 메시지 전송(Non-confirmable)로 선택할 수 있다.

  • Request

Header

Ver

Type

Code

Options

01

CON

NON

0.03 (PUT)

0.06 (PATCH)

URI-Path: {broad_url}/identify?gid={gid}

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

gid

Uint16

그룹 논리주소

Payload

항목

타입(길이)

C

내용

blink

Uint8

O

점멸 횟수 (범위: 1~256)

Payload

Example

blink=2

그룹 소속 디바이스만 LED 모듈 전체2회 점멸

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

blink

Uint8

O

점멸 횟수 (범위: 1~256)

Payload

Example

did=32;

blink=2

 

비고

- 그룹주소의 멤버만큼 응답이 발생함

- PUT 메소드를 사용하는 경우 빠진 항목은 NULL 또는 기본설정값 처리함

               
 

 

2.4.4 디바이스 전체정보 조회

디바이스의 전체정보를 조회하는 API이다.

조회 가능한 디바이스의 전체정보에는 필수 항목으로 디바이스 기본정보(dinfo)와 수용능력 정보(cap)가 있고, 디바이스 기능에 따라 선택 항목인 조명 상태정보(light) 및 설정정보(lightconfig), 센서정보(sensor)가 있다.

Payload 사이즈가 너무 커 디바이스가 보내기에 어려운 환경(통신방식)인 경우 Response code로 4.13 Request Entity Too Large를 응답하여야 한다. Response code 4.13으로 응답하는 디바이스는 수신 디바이스가 개별 조회가 가능하도록 디바이스 기본정보 조회와 디바이스 수용능력 조회를 제공하여야 하며, 지원 기능에 따라 조명 상태정보 조회, 조명 설정정보 조회 및 센서 설정정보 조회 API를 제공하여야 한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/

Accept: text/plain

비고

 

 

 

  • Response (응답 가능한 경우)

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

dinfo

Object

M

디바이스 기본 정보

dpid

Hex(18)

M

디바이스 고유 물리주소

pc

Hex(62)

M

제품코드

sn

String(10)

M

일련번호

lid

Hex(28)

M

디바이스 위치주소

lpv

String

CM

L-SLP API 버전

조건: L-SLP 지원 디바이스인 경우

ct

String(2)

O

Content-format

(pt:text/plain, os: octet stream)

cap

Object

M

디바이스의 수용능력

mcap

Object

M

디바이스의 모듈 수용능력

in_maxm

Uint8

O

디바이스 내부에 연결 가능한 모듈 개수

  in_usedm

Uint8

O

디바이스 내부에 연결되어 사용중인 모듈 개수

  ex_maxm

Uint8

O

디바이스 외부에 연결 가능한 모듈 개수

  ex_usedm

Uint8

O

디바이스 외부에 연결되어 사용중인 모듈 개수

gcap

Object

M

디바이스의 그룹 수용능력

  numg

Uint8

O

지원 가능한 그룹 개수

  usedg

Uint8

O

사용중인 그룹 개수

scap

Object

M

디바이스의 Scene 수용능력

  nums

Uint8

O

지원 가능한 Scene 개수

  useds

Uint8

O

사용중인 Scene 개수

modules

Object Array

M

디바이스의 모듈정보 객체 목록

- 조명, 센서 모듈만 포함

- 통신 모듈(mid=1) 정보는 개별 조회

mid

Uint8

M

모듈 논리주소

minfo

Object

M

모듈 기본정보

mclass

String(1)

M

모듈 종류

mtype

Uint8

M

모듈 상세 종류

form

String(2)

O

모듈 장착 방식

light

Object

CM

조명 상태정보

- 조건: 모듈 기본정보(minfo)의 모듈 종류(mclass)가 조명(l)인 경우

onoff

String

M

조명 점소등 상태

level

Uint8

CM

밝기

- 조건: 조명이 점등(on) 상태인 경우

- 소등(off) 상태인 경우 생략하거나 “0”이어야 함

colortemp

Uint16

O

상관 색온도

hue

Uint16

O

HSV 모델 - 색상

sat

Uint8

O

HSV 모델 - 채도

bright

Uint8

O

HSV 모델 - 이름도

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

r

Uint8

O

RGB 모델 - Red

g

Uint8

O

RGB 모델 - Green

b

Uint8

O

RGB 모델 - Bule

lightconfig

Object

CM

조명 설정정보

- 조건: 모듈 기본정보(minfo)의 모듈 종류(mclass)가 조명(l)인 경우

onoff_tt

Uint16

O

점소등소요시간 (100ms)

dimup_tt

Uint16

O

최대밝기도달 소요시간 (100ms)

dimdn_tt

Uint16

O

최소밝기도달 소요시간 (100ms)

on_htime

Uint16

O

점등유지시간(s)

off_htime

Uint16

O

소등유지시간(s)

on_dtime

Uint16

O

점등대기시간(s)

off_dtime

Uint16

O

소등대기시간(s)

color_tt

Uint16

O

색상변경소요시간

offlevel

Uint8

O

소등(off) 소등되는 밝기

level_rate

Uint8

M

조명 출력 비율

rperiod

Uint16

O

조명 상태정보 보고 주기 (s)

last_light

String

M

점등시 마지막 조명 상태정보 복구

onconfig

Object

M

조명 점등 상태정보 객체

onlevel

Uint8

M

점등시 조명 밝기(밝기)

colortemp

Uint16

O

점등시 조명 상관 색온도

hue

Uint16

O

점등시 조명 색상(HSB)의 색상

sat

Uint8

O

점등시 조명 색상(HSB)의 채도

bright

Uint8

O

점등시 조명 색상(HSB)의 휘도

x

Float(3,2)

O

점등시 조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

점등시 조명 색상(CIE 1931 XY 색좌표)의 y

r

Uint8

O

점등시 조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

점등시 조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

점등시 조명 색상(R, G, B)의 청색(Blue)

sensor

Object

CM

센서 기본정보

- 조건: 모듈 기본정보(minfo)의 모듈 종류(mclass)가 센서(s)인 경우

active

String

M

센서 동작 상태 정보

opmode

String

M

센서 이벤트 발생시 동작 모드

mperiod

Uint16

M

센서 측정 주기

rperiod

Uint16

M

센서 정보 보고 주기

vtype

String

M

센서 출력(value)의 데이터 형식

value

{vtype value}

M

현재 센서 출력 데이터

Payload

Example

did=32;

dinfo={

dpid=3F2F1A000000110B2A;

pc=3F2F1A00000001;

sn=1712000021;

lid=010000040A0000002F000000ED;

lpv=1.0.0;

ct=pt

};

cap={

mcap={in_maxm=2; in_usedm=2};

gcap={numg=10; usedg=3};

scap={nums=10; useds=0}

}

modules=[

{

mid=2;

minfo={ mclass=l; mtype=0; form=in }

light={

onoff=on;

level=50;

colortemp=4000

};

lightconfig={

onoff_tt=50;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

offlevel=20;

level_rate=80;

last_light=enable

onconfig={

onlevel=100;

colortemp=4000

}

}

},

{

mid=3;

minfo={ mclass=l; mtype=0; form=in }

light={

onoff=on;

level=50;

colortemp=4000

};

lightconfig={

onoff_tt=50;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

offlevel=20;

onconfig={

onlevel=100;

colortemp=4000

}

}

}

]

조명 모듈 2개로 구성된 조명 디바이스의 응답

비고

- 설정이 미완료된 항목은 디폴트 값으로 응답

- 지원하지 않는 항목은 포함하지 않음

               
 

 

  • Response (4.13 응답)

Header

Ver

Type

Code

Options

01

ACK

4.13

(Request Entity Too Large)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

Payload

Example

did=32

 

비고

-

               
 

 

2.4.5 디바이스 기본정보 조회

디바이스의 기본정보를 조회하는 API이다.

조회 가능한 디바이스의 기본정보에는 제조 과정에서 할당되는 디바이스 고유 물리주소(DPID, Physical ID), 제품코드(PC, Produce Code), 일련번호(SN, Serial Number)와 게이트웨이 또는 설치기에 의해 설정되는 디바이스의 논리주소(DID, Device ID), 메시지의 컨텐츠 규격(CT, Content Type), 디바이스의 위치주소(LID, Location ID)가 있다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/dinfo

Accept: text/plain

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

dpid

Hex(18)

M

디바이스 고유 물리주소

pc

Hex(62)

M

제품코드

sn

String(10)

M

일련번호

lid

Hex(28)

M

디바이스 위치주소

lpv

String

CM

L-SLP API 버전

조건: L-SLP 지원 디바이스인 경우

ct

String(2)

O

Content-format

(pt:text/plain, os: octet stream)

Payload

Example

did=32;

dpid=3F2F1A000000110B2A;

pc=3F2F1A00000001;

sn=1712000021;

lid=010000040A0000002F000000ED;

lpv=1.0.0;

ct=pt

 

비고

- 설정이 미완료된 항목도 디폴트 값으로 응답

               
 

 

2.4.6 디바이스 기본정보 설정

디바이스의 기본정보를 설정하는 API이다.

디바이스 기본정보에는 디바이스 물리주소(cpid), 제품코드(pc), 일련번호(sn), 프로파일 버전(bpv, lpv) 정보가 있다.  변경 가능한 기본정보에는 스마트 게이트웨이, 사용자 입력장치, 관제서버 등을 통하여 설정되는 논리주소(cid), 위치주소(lid), 이름(name)이 있다. 요청 메시지에 포함된 사용자 입력장치의 물리주소(cpid)는 요청 메시지를 수신한 사용자 입력장치가 수신자(변경 대상)가 자신인지 확인용으로만 사용되며 변경할 수 없는 속성이다.

  • Request

Header

Ver

Type

Code

Options

01

CON

0.06 (PATCH)

URI-Path: {base_url}/dinfo

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

O

디바이스 논리주소

dpid

Hex(18)

M

디바이스 물리주소

lid

Hex(28)

O

디바이스 위치주소

ct

String(2)

O

Content-format

(pt:text/plain, os: octet stream)

delay

Uint16

O

디바이스 재시작 또는 공장초기화 지연 시간

Payload

Example 1

did=32;

dpid=3F2F1A000000110B2A;

ct=pt;

lid=010000040A0000002F000000ED

did, ct, lid 변경 요청

Payload

Example 2

dpid=3F2F1A000000110B2A;

ct=pt

ct 변경 요청

Payload

Example 3

dpid=3F2F1A000000110B20;

ct=pt

dpid 오류 요청

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

lid

Hex(28)

O

디바이스 위치주소

ct

String(2)

O

Content-format

(pt:text/plain, os: octet stream)

delay

Uint16

O

디바이스 재시작 또는 공장초기화 지연 시간

Payload

Example 1

did=32;

ct=pt;

lid=010000040A0000002F000000ED;

 

Payload

Example 2

did=32;

ct=pt

 

비고

- 요청받은 항목만 응답에 포함하여야 함

               
 

 

  • Response (Payload Example 3 오류 응답)

Header

Ver

Type

Code

Options

01

ACK

4.03 (Forbidden)

Content-Format: text/plain

비고

-

 

 

 

2.4.7 디바이스 수용능력 조회

디바이스가 가지고 있는 모듈, 그룹, 장면의 수용능력(Capability)를 조회하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/cap

Accept: text/plain

비고

- Payload없음

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

mcap

Object

M

디바이스의 모듈 수용능력

in_maxm

Uint8

O

디바이스 내부에 연결 가능한 모듈 개수

  in_usedm

Uint8

CM

디바이스 내부에 연결되어 사용중인 모듈 개수

- 조건: 내부 연결 모듈이 있는 경우

  ex_maxm

Uint8

O

디바이스 외부에 연결 가능한 모듈 개수

  ex_usedm

Uint8

CM

디바이스 외부에 연결되어 사용중인 모듈 개수

- 조건: 외부 연결 모듈이 있는 경우

gcap

Object

O

디바이스의 그룹 수용능력

  numg

Uint8

M

지원 가능한 그룹 개수

  usedg

Uint8

M

사용중인 그룹 개수

scap

Object

O

디바이스의 장면(Scene) 수용능력

  nums

Uint8

M

지원 가능한 장면(Scene) 개수

  useds

Uint8

M

사용중인 장면(Scene) 개수

Payload

Example

did=32;

mcap={in_maxm=2; in_usedm=2};

gcap={numg=10; usedg=3};

scap={nums=10; useds=0}

 

비고

 

               
 

 

2.4.8 디바이스 전체 모듈정보 조회

디바이스에 장착된 전체 모듈에 대한 모듈정보를 조회하는 API이다.

Payload 사이즈가 너무 커 디바이스가 보내기에 어려운 환경(통신방식)인 경우 Response code로 4.13 Request Entity Too Large를 응답하여야 한다. Response code 4.13으로 응답하는 디바이스는 수신 디바이스가 개별 조회가 가능하도록 디바이스 전체 모듈 기본정보 목록 조회를 제공하여야 하며, 디바이스 전체 모듈 기본정보 목록 조회를 통하여 획득한 지원 모듈 기능에 따라 조명 상태정보 조회, 조명 설정정보 조회 및 센서 설정정보 조회 API의 모듈조회를 제공하여야 한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/modules

Accept: text/plain

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

modules

Object Array

M

디바이스 전체 모듈정보 목록

- 조명, 센서 모듈만 포함

- 통신 모듈(mid=1) 정보는 개별 조회

mid

Uint8

M

모듈 논리주소

minfo

Object

M

모듈 기본정보

mclass

String(1)

M

모듈 종류

mtype

Uint8

M

모듈 종류(mclass)에 따른 세부 종류

form

String(2)

O

모듈 장착 방식

light

Object

CM

조명 상태정보

- 조건: 조명 기능을 제공하는 경우

{light attributes}

 

 

조명 상태정보 하위 속성

lightconfig

Object

CM

조명 설정정보

- 조건: 조명 기능을 제공하는 경우

{lightconfig attributes}

 

 

조명 설정정보 속성들

sensor

Object

CM

센서 설정정보

- 조건: 센서 기능을 제공하는 경우

{sensor attributes}

 

 

센서 설정정보 속성들

Payload

Example

did=32;

modules=[

{

mid=2;

minfo={ mclass=l; mtype=0; form=in },

light={ onoff=on, level=100, … },

lightconfig={ onlevel=100, … }

},

{

mid=3;

minfo={ mclass=s; mtype=3; form=ex },

sensor={ status=enable, opmode=notify, mperiod=300, rperiod=600, …}

}

]

 

비고

- Payload에는 디바이스가 가지고 있는 모든 모듈에 대한 모듈 정보의 속성이 들어감

               
 

 

  • Response (제공 불가능한 경우)

Header

Ver

Type

Code

Options

01

ACK

4.13

(Request Entity Too Large)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

Payload

Example

did=32

 

비고

 

               
 

 

2.4.9 디바이스 전체 모듈 기본정보 목록 조회

디바이스에 장착된 모듈에 대한 기본정보 목록을 조회하는 API이다.

속성 제한을 통하여 특정 목록 조회가 가능하다. 예를들어, “mclass=l”로 속성 제한을 하면 조명 모듈만을 조회가 가능하다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/modules/minfo

Accept: text/plain

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

modules

Object Array

O

모듈 기본정보 목록

- 조명, 센서 모듈만 포함

- 통신 모듈(mid=1) 정보는 개별 조회

mid

Uint8

M

모듈 논리주소

minfo

Object

M

모듈정보 객체

mclass

String(1)

M

모듈 종류

mtype

Uint8

M

모듈 종류(mclass)에 따른 세부 종류

form

String(2)

O

모듈 장착 방식

Payload

Example

did=32;

modules=[

{ mid=2; minfo={mclass=l; mtype=0; form=in} },

{ mid=3; minfo={mclass=s; mtype=3; form=ex} }

]

 

비고

- Payload에는 디바이스가 가지고 있는 모든 모듈에 대한 모듈 정보의 속성이 들어감

               
 

 

2.4.10 디바이스 개별 모듈 전체정보 조회

디바이스의 개별 모듈에 대한 모듈 전체정보를 조회하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/modules/{mid}

Accept: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

mid

Uint8

M

모듈 논리주소

minfo

Object

M

모듈 기본정보

mclass

String(1)

M

모듈 종류

mtype

Uint8

M

모듈 종류(mclass)에 따른 세부 종류

form

String(2)

M

모듈 장착 방식

light

Object

CM

조명 상태정보

- 조건: 조명 기능을 제공하는 경우

{light attributes}

 

 

조명 상태정보 하위 속성

lightconfig

Object

CM

조명 설정정보

- 조건: 조명 기능을 제공하는 경우

{lightconfig attributes}

 

 

조명 설정정보 속성들

sensor

Object

CM

센서 설정정보

- 조건: 센서 기능을 제공하는 경우

{sensor attributes}

 

 

센서 설정정보 속성들

Payload

Example

did=32;

mid=2;

minfo={ mclass=l; mtype=0; form=in},

light={ onoff=on, level=100, … },

lightconfig={ onlevel=100, … }}

 

비고

-

               
 

 

2.4.11 디바이스 개별 모듈 기본정보 조회

디바이스의 개별 모듈에 대한 모듈 기본정보를 조회하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/modules/{mid}/minfo

Accept: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

비고

 

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

mclass

String(1)

M

모듈 종류

mtype

Uint8

M

모듈 종류(mclass)에 따른 세부 종류

form

String(2)

M

모듈 장착 방식

Payload

Example

did=32;

mclass=l;

mtype=0;

form=in

 

비고

-

               
 

 

2.4.12 디바이스 재시작

디바이스를 재시작하는 API이다.

디바이스는 응답 메시지를 전송 후 지연 시간만큼 대기 후 재시작한다. 디바이스 재시작시에는 NVM 데이터를 유지하여야 한다.

  • Request

Header

Ver

Type

Code

Options

01

CON

0.02 (POST)

URI-Path: {base_url}/restart

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

delay

Uint16

O

디바이스 재시작 지연 시간

Payload

Example

delay=10

 

비고

 
               
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

Payload

Example

did=32

 

비고

 

               
 

 

2.4.13 디바이스 공장초기화

디바이스를 공장초기화하는 API이다.

디바이스는 응답 메시지를 전송 후 지연 시간만큼 대기 후 공장초기화를 시작한다. 디바이스 공장초기화시에는 NVM 데이터를 공장 초기상태로 복구하여야 한다.

  • Request

Header

Ver

Type

Code

Options

01

CON

0.02 (POST)

URI-Path: {base_url}/reset

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

dpid

Hex(18)

M

디바이스 고유 물리주소

delay

Uint16

O

디바이스 재시작 지연 시간

Payload

Example

dpid=3F2F1A000000110B2A;

delay=10

 

비고

 
               
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

Payload

Example

did=32

 

비고

 

               
 
 
2.5 조명 API

2.5.1 조명 상태정보 조회

게이트웨이, UD1, TS1 등에서 디바이스의 조명 상태정보를 조회하는 API이다.

조명 기능을 제공하는 스마트 조명 디바이스는 조명의 현재 상태정보를 제공하여야 한다. 속성 필터를 사용하여 필요한 속성에 대해서만 조회를 할 수 있다.

조명 기능을 제공하는 스마트 조명 디바이스는 본 API를 지원하여야 한다.

 

2.5.1.1 전체 조명 모듈 조회

모든 조명 모듈의 상태정보를 조회하는 API이다.

단독 조명 모듈인 조명 디바이스도 동일하게 응답한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/light

Accept: text/plain

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

light_list

Object Array

M

조명 상태정보 목록

mid

Uint8

M

모듈 논리주소

onoff

String(2~3)

M

조명 on/off 상태

level

Uint8

CM

조명 밝기(밝기)

- 조건: on 상태인 경우

colortemp

Uint16(4)

CM

조명 상관 색온도

- 조건: 속성을 제공하는 경우

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

- 조건: 속성을 제공하는 경우

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

- 조건: 속성을 제공하는 경우

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

- 조건: 속성을 제공하는 경우

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

- 조건: 속성을 제공하는 경우

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

- 조건: 속성을 제공하는 경우

hue

Uint8

CM

조명 색상(HSB)의 색상

- 조건: 속성을 제공하는 경우

sat

Uint8

CM

조명 색상(HSB)의 채도

- 조건: 속성을 제공하는 경우

bright

Uint8

CM

조명 색상(HSB)의 휘도

- 조건: 속성을 제공하는 경우

Payload

Example 1

did=32;

light_list=[

{mid=2;onoff=on;level=50;colortemp=4000},

{mid=3;onoff=on;level=50;colortemp=4000}

]

 

Payload

Example 2

did=32;

light_list=[

{mid=2;onoff=off},

{mid=3;onoff=on;level=50;colortemp=4000}

]

조명이 소등(off) 상태인 경우 조명 밝기(level)는 생략 가능하며, 제공시에는 ‘0’이어야 함

비고

-

               
 

 

2.5.1.2 개별 조명 모듈 조회

개별 조명 모듈의 상태정보를 조회하기 위해 사용하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/modules/{mid}/light

Accept: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

mid

Uint8

M

모듈 논리주소

onoff

String(2~3)

M

조명 on/off 상태

level

Uint8

M

조명 밝기(밝기)

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

Payload

Example

did=32;

onoff=on;

level=50;

colortemp=4000

 

비고

 

               
 

 

2.5.2 조명 상태정보 변경 (조명 제어)

조명 상태정보 변경 API는 게이트웨이, UD1, TS1 등이 스마트 조명 디바이스의 조명 모듈을 제어하기 위하여 사용하는 API이다.

조명 기능을 제공하는 스마트 조명 디바이스는 본 API를 지원하여야 한다.

 

2.5.2.1 전체 조명 모듈 동일 변경

스마트 조명 디바이스가 단독 또는 여러 조명 모듈로 구성되어 있는 경우 디바이스의 모든 조명 모듈을 동일한 상태로 제어하기 위해 사용하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.06 (PATCH)

URI-Path: {base_url}/light

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

onoff

String(2~3)

O

조명 on/off 상태

level

Uint8

O

조명 밝기(밝기)

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

tt

Uint16

O

동작소요시간(100ms)

- 동작소요시간(tt)은 명령어 수행 후 유지(저장)되지 않음. 1회성임.

Payload

Example 1

onoff=on;

colortemp=4000;

tt=10

- tt=10 동안 조명 점등 및 상관 색온도 변경

Payload

Example 2

level=100

- level=100으로 상태변경 요청

 

Payload

Example 3

onoff=on

- 조명 점등 요청

 

비고

- Payload에는 하나 이상의 항목이 있어야 함

               
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

onoff

String(2~3)

CM

조명 on/off 상태

level

Uint8

CM

조명 밝기(밝기)

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

tt

Uint16

CM

동작소요시간(100ms)

- 동작소요시간(tt)은 명령어 수행 후 유지(저장)되지 않음. 1회성임.

Payload

Example 1

did=32;

level=100;

onoff=on;

colortemp=4000;

tt=10

- 모든 상태정보 포함

 

Payload

Example 2

did=32;

level=100

- level=100으로 상태변경 되어야 함

- 소등(off) 상태인 경우 조명 on/off 상태 속성값이 점등(on) 상태로 함께 변경되어야 함

Payload

Example 3

did=32;

onoff=on;

level=80;

colortemp=4000

- 조명 설정정보의 점등시 마지막 조명 상태정보 복구 속성(last_light)의 값에 따라 점등 되어야 함

- 모든 상태정보 포함

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

- 모듈 디바이스도 Request에서 요청한 항목에 대해서만 응답

- 조명 점등 요청(onoff=on)이 포함된 경우에는 제공 가능한 모든 상태정보를 포함하여 응답하여야 함

               
 

 

2.5.2.2 전체 조명 모듈 개별 변경

다중 조명 모듈로 구성된 스마트 조명 디바이스의 전체 조명 모듈을 개별 설정하기 위해 사용하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.06 (PATCH)

URI-Path: {base_url}/light

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

light_list

Object Array

M

조명 상태정보 목록

mid

Uint8

M

모듈 논리주소

onoff

String(2~3)

O

조명 on/off 상태

level

Uint8

O

조명 밝기(밝기)

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

tt

Uint16

O

동작소요시간(100ms)

- 동작소요시간(tt)은 명령어 수행 후 유지(저장)되지 않음. 1회성임.

Payload

Example

light_list=[

{mid=2; onoff=on; colortemp=4000; tt=10},

{mid=3; onoff=off}

]

3등 모듈 조명에서 2개 모듈만 점등

비고

 

               
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

light_list

Object Array

M

조명 상태정보 목록

mid

Uint8

M

모듈 논리주소

onoff

String(2~3)

CM

조명 on/off 상태

level

Uint8

CM

조명 밝기(밝기)

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

tt

Uint16

CM

동작소요시간(100ms)

- 동작소요시간(tt)은 명령어 수행 후 유지(저장)되지 않음. 1회성임.

Payload

Example

did=32;

light_list=[

{mid=2; onoff=on;level=100;colortemp=4000;tt=10},

{mid=3; onoff=off}

]

 

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

- 조명 점등 요청(onoff=on)이 포함된 경우에는 제공 가능한 모든 상태정보를 포함하여 응답하여야 함

               
 

 

2.5.2.3 개별 조명 모듈 변경

스마트 조명 디바이스의 특정 조명 모듈만을 제어하기 위해 사용하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.06 (PATCH)

URI-Path: {base_url}/modules/{mid}/light

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

Payload

항목

타입(길이)

C

내용

onoff

String(2~3)

O

조명 on/off 상태

level

Uint8

O

조명 밝기(밝기)

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

tt

Uint16

O

동작소요시간(100ms)

- 동작소요시간(tt)은 명령어 수행 후 유지(저장)되지 않음. 1회성임.

Payload

Example 1

onoff=on;

colortemp=4000;

tt=10

- tt=10 동안 조명 점등 및 상관 색온도 변경

Payload

Example 2

level=100

- level=100으로 상태변경 요청

 

Payload

Example 3

onoff=on

- 모듈 점등 요청

 

비고

- Payload에는 하나 이상의 항목이 있어야 함

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

mid

Uint8

M

모듈 논리주소

onoff

String(2~3)

CM

조명 on/off 상태

level

Uint8

CM

조명 밝기(밝기)

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

tt

Uint16

CM

동작소요시간(100ms)

- 동작소요시간(tt)은 명령어 수행 후 유지(저장)되지 않음. 1회성임.

Payload

Example 1

did=32;

mid=2;

onoff=on;

level=100;

colortemp=4000;

tt=10

- 모든 상태정보 포함

Payload

Example 2

did=32;

mid=2;

level=100

- level=100으로 상태변경 되어야 함

- 소등(off) 상태인 경우 조명 on/off 상태 속성값이 점등(on) 상태로 함께 변경되어야 함

Payload

Example 3

did=32;

mid=2;

onoff=on;

level=80;

colortemp=4000

- 조명 설정정보의 점등시 마지막 조명 상태정보 복구 속성(last_light)의 값에 따라 점등 되어야 함

- 모든 상태정보 포함

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

- 조명 점등 요청(onoff=on)이 포함된 경우에는 제공 가능한 모든 상태정보를 포함하여 응답하여야 함

               
 

 

2.5.3 조명 설정정보 조회

게이트웨이, UD1, TS1 등에서 디바이스의 조명 설정정보를 조회하는 API이다.

조명 설정정보중에서 점등정보(onconfig)는 포함하지 않는다. 점등정보는 별도 API를 통하여 제공한다. 조명 기능을 제공하는 스마트 조명 디바이스는 본 API를 지원하여야 한다.

 

2.5.3.1 전체 조명 모듈 조회

디바이스의 모든 조명 모듈의 설정정보를 조회하기 위해 사용하는 API이다.

단독 조명 모듈인 조명 디바이스도 동일하게 응답한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/lightconfig

Accept: text/plain

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

lightconfig_list

Object Array

M

조명 설정정보 목록

mid

Uint8

M

모듈 논리주소

onoff_tt

Uint16

O

점소등소요시간 (100ms)

dimup_tt

Uint16

O

밝기 증가시 목표 밝기도달 소요시간 (100ms)

dimdn_tt

Uint16

O

밝기 감소시 목표 밝기도달 소요시간 (100ms)

on_htime

Uint16

O

점등유지시간(s)

off_htime

Uint16

O

소등유지시간(s)

on_dtime

Uint16

O

점등대기시간(s)

off_dtime

Uint16

O

소등대기시간(s)

color_tt

Uint16

O

색상 및 상관 색온도 변환 소요시간 (100ms)

offlevel

Uint8

O

Off 명령어시 소등되는 밝기

level_rate

Uint8

M

조명 출력 비율

rperiod

Uint16

O

조명 상태정보 보고 주기 (s)

last_light

String(6~7)

M

점등시 마지막 조명상태 복구

onconfig

Object

M

조명 점등 상태정보 객체

onlevel

Uint8

O

조명 점등시 밝기

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

Payload

Example 1

did=32;

lightconfig_list=[

{

mid=2;

onoff_tt=0;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

level_rate=80;

last_light=enable;

onconfig={

onlevel=80;

colortemp=6000

}

},

{

mid=3;

onoff_tt=0;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

level_rate=80;

last_light=enable;

onconfig={

onlevel=80;

colortemp=6000

}

}

]

조명 모듈이 2개인 조명 디바이스의 응답

Payload

Example 2

did=32;

lightconfig_list=[

{

mid=2;

onoff_tt=0;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

level_rate=80;

last_light=enable;

onconfig={

onlevel=80;

colortemp=6000

}

}

]

조명 모듈이 1개인 조명 디바이스의 응답

비고

 

 

 

2.5.3.2 개별 조명 모듈 조회

디바이스의 개별 조명 모듈의 설정정보를 조회하는 API이다.

 

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/modules/{mid}/lightconfig

Accept: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

mid

Uint8

M

모듈 논리주소

onoff_tt

Uint16

O

점소등소요시간 (100ms)

dimup_tt

Uint16

O

밝기 증가시 목표 밝기도달 소요시간 (100ms)

dimdn_tt

Uint16

O

밝기 감소시 목표 밝기도달 소요시간 (100ms)

on_htime

Uint16

O

점등유지시간(s)

off_htime

Uint16

O

소등유지시간(s)

on_dtime

Uint16

O

점등대기시간(s)

off_dtime

Uint16

O

소등대기시간(s)

color_tt

Uint16

O

색상 및 상관 색온도 변환 소요시간 (100ms)

offlevel

Uint8

O

Off 명령어시 소등되는 밝기

level_rate

Uint8

M

조명 출력 비율

rperiod

Uint16

O

조명 상태정보 보고 주기 (s)

last_light

String(6~7)

M

점등시 마지막 조명상태 복구 여부

onconfig

Object

M

조명 점등 상태정보 객체

onlevel

Uint8

O

조명 점등시 밝기

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

Payload

Example

did=32;

mid=2;

onoff_tt=0;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

offlevel=0;

level_rate=80;

last_light=enable;

onconfig={onlevel=80; colortemp=6000}

 

비고

 

 

 

2.5.4 조명 설정정보 변경

게이트웨이, UD1, TS1 등이 디바이스의 조명 설정정보를 설정하기 위한 API이다.

조명 설정정보 변경 API는 0.03(PUT) 코드와 0.06(PATCH) 코드를 모두 사용할 수있다. 0.03(PUT) 코드를 사용하는 경우 메시지에는 모든 속성을 포함하여야 한다. 포함되지 않은 속성이 있는 경우 해당 속성은 기본값으로 설정하여야 한다. 0.06(PATCH) 코드를 사용하는 경우 메시지에 포함된 속성만 변경하여야 한다.

조명 기능을 제공하는 스마트 조명 디바이스는 본 API를 지원하여야 한다.

2.5.4.1 전체 조명 모듈 동일 변경

디바이스의 모든 조명 모듈의 설정정보를 동일한 설정으로 변경을 요청하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.03 (PUT)

0.06 (PATCH)

URI-Path: {base_url}/lightconfig

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

onoff_tt

Uint16

O

점소등소요시간 (100ms)

dimup_tt

Uint16

O

밝기 증가시 목표 밝기도달 소요시간 (100ms)

dimdn_tt

Uint16

O

밝기 감소시 목표 밝기도달 소요시간 (100ms)

on_htime

Uint16

O

점등유지시간(s)

off_htime

Uint16

O

소등유지시간(s)

on_dtime

Uint16

O

점등대기시간(s)

off_dtime

Uint16

O

소등대기시간(s)

color_tt

Uint16

O

색상 및 상관 색온도 변환 소요시간 (100ms)

offlevel

Uint8

O

Off 명령어시 소등되는 밝기

level_rate

Uint8

O

조명 출력 비율

rperiod

Uint16

O

조명 상태정보 보고 주기 (s)

last_light

String(6~7)

O

점등시 마지막 조명상태 복구

onconfig

Object

O

조명 점등 상태정보 객체

onlevel

Uint8

O

조명 점등시 밝기

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

Payload

Example 1

onoff_tt=50;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

offlevel=20

 

Payload

Example 2

onoff_tt=0;

level_rate=80;

rperiod=300;

last_light=enable;

onconfig={onlevel=80; colortemp=6000}

 

비고

- 디바이스는 조명의 속성 정보를 설정한 후 유지하고 있어야 함

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

onoff_tt

Uint16

CM

점소등소요시간 (100ms)

dimup_tt

Uint16

CM

밝기 증가시 목표 밝기도달 소요시간 (100ms)

dimdn_tt

Uint16

CM

밝기 감소시 목표 밝기도달 소요시간 (100ms)

on_htime

Uint16

CM

점등유지시간(s)

off_htime

Uint16

CM

소등유지시간(s)

on_dtime

Uint16

CM

점등대기시간(s)

off_dtime

Uint16

CM

소등대기시간(s)

color_tt

Uint16

CM

색상 및 상관 색온도 변환 소요시간 (100ms)

offlevel

Uint8

CM

Off 명령어시 소등되는 밝기

level_rate

Uint8

CM

조명 출력 비율

rperiod

Uint16

CM

조명 상태정보 보고 주기 (s)

last_light

String(6~7)

CM

점등시 마지막 조명상태 복구

onconfig

Object

CM

조명 점등 상태정보 객체

onlevel

Uint8

CM

조명 점등시 밝기

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

Payload

Example 1

did=32;

onoff_tt=50;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

offlevel=20;

 

Payload

Example 2

did=32;

onoff_tt=0;

level_rate=80;

rperiod=300;

last_light=enable;

onconfig={onlevel=80; colortemp=6000}

 

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

- 디바이스는 조명의 설정정보를 설정한 후 유지하고 있어야 함

 

 

2.5.4.2 전체 조명 모듈 개별 변경

디바이스의 모든 조명 모듈의 설정정보를 개별로 설정하도록 변경을 요청하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.03 (PUT)

0.06 (PATCH)

URI-Path: {base_url}/lightconfig

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

lightconfig_list

Object Array

M

조명 설정정보 목록

mid

Uint8

M

모듈 논리주소

onoff_tt

Uint16

O

점소등소요시간 (100ms)

dimup_tt

Uint16

O

밝기 증가시 목표 밝기도달 소요시간 (100ms)

dimdn_tt

Uint16

O

밝기 감소시 목표 밝기도달 소요시간 (100ms)

on_htime

Uint16

O

점등유지시간(s)

off_htime

Uint16

O

소등유지시간(s)

on_dtime

Uint16

O

점등대기시간(s)

off_dtime

Uint16

O

소등대기시간(s)

color_tt

Uint16

O

색상 및 상관 색온도 변환 소요시간 (100ms)

offlevel

Uint8

O

Off 명령어시 소등되는 밝기

level_rate

Uint8

O

조명 출력 비율

rperiod

Uint16

O

조명 상태정보 보고 주기 (s)

last_light

String(6~7)

O

점등시 마지막 조명상태 복구

onconfig

Object

O

조명 점등 상태정보 객체

onlevel

Uint8

O

조명 점등시 밝기

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

Payload

Example 1

lightconfig_list=[

{

mid=2;

level_rate=90;

last_light=enable;

onconfig={

onlevel=90

}

},

{

mid=3;

level_rate=80;

last_light=enable;

onconfig={

onlevel=80

}

}

]

조명 모듈이 2개인 조명 디바이스의 설정

Payload

Example 2

did=32;

lightconfig_list=[

{

mid=2;

onoff_tt=0;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

level_rate=80;

last_light=enable;

onconfig={

onlevel=80;

colortemp=6000

}

}

]

조명 모듈이 1개인 조명 디바이스의 설정

비고

- 디바이스는 조명의 설정정보를 설정한 후 유지하고 있어야 함

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

lightconfig_list

Object Array

M

조명 설정정보 목록

mid

Uint8

M

모듈 논리주소

onoff_tt

Uint16

CM

점소등소요시간 (100ms)

dimup_tt

Uint16

CM

밝기 증가시 목표 밝기도달 소요시간 (100ms)

dimdn_tt

Uint16

CM

밝기 감소시 목표 밝기도달 소요시간 (100ms)

on_htime

Uint16

CM

점등유지시간(s)

off_htime

Uint16

CM

소등유지시간(s)

on_dtime

Uint16

CM

점등대기시간(s)

off_dtime

Uint16

CM

소등대기시간(s)

color_tt

Uint16

CM

색상 및 상관 색온도 변환 소요시간 (100ms)

offlevel

Uint8

CM

Off 명령어시 소등되는 밝기

level_rate

Uint8

CM

조명 출력 비율

rperiod

Uint16

CM

조명 상태정보 보고 주기 (s)

last_light

String(6~7)

CM

점등시 마지막 조명상태 복구

onconfig

Object

CM

조명 점등 상태정보 객체

onlevel

Uint8

CM

조명 점등시 밝기

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

last_light

String(6~7)

CM

점등시 마지막 조명상태 복구

Payload

Example 1

did=32;

lightconfig_list=[

{

mid=2;

level_rate=90;

last_light=enable;

onconfig={

onlevel=90

}

},

{

mid=3;

level_rate=80;

last_light=enable;

onconfig={

onlevel=80

}

}

]

 

Payload

Example 2

did=32;

lightconfig_list=[

{

mid=2;

onoff_tt=0;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

level_rate=80;

last_light=enable;

onconfig={

onlevel=80;

colortemp=6000

}

}

]

 

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

- 디바이스는 조명의 설정정보를 설정한 후 유지하고 있어야 함

 

 

2.5.4.3 개별 조명 모듈 변경

디바이스의 개별 조명 모듈에 대한 설정정보 변경을 요청하는 API이다.

 

Header

Ver

Type

Code

Options

01

CON

0.03 (PUT)

0.06 (PATCH)

URI-Path: {base_url}/modules/{mid}/lightconfig

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

Payload

항목

타입(길이)

C

내용

onoff_tt

Uint16

O

점소등소요시간 (100ms)

dimup_tt

Uint16

O

밝기 증가시 목표 밝기도달 소요시간 (100ms)

dimdn_tt

Uint16

O

밝기 감소시 목표 밝기도달 소요시간 (100ms)

on_htime

Uint16

O

점등유지시간(s)

off_htime

Uint16

O

소등유지시간(s)

on_dtime

Uint16

O

점등대기시간(s)

off_dtime

Uint16

O

소등대기시간(s)

color_tt

Uint16

O

색상 및 상관 색온도 변환 소요시간 (100ms)

offlevel

Uint8

O

Off 명령어시 소등되는 밝기

level_rate

Uint8

O

조명 출력 비율

rperiod

Uint16

O

조명 상태정보 보고 주기 (s)

last_light

String(6~7)

O

점등시 마지막 조명상태 복구

onconfig

Object

O

조명 점등 상태정보 객체

onlevel

Uint8

O

조명 점등시 밝기

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

Payload

Example 1

onoff_tt=50;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

offlevel=20

 

Payload

Example 2

onoff_tt=0;

level_rate=80;

rperiod=300;

last_light=enable;

onconfig={onlevel=80; colortemp=6000}

 

비고

- 디바이스는 조명의 설정정보를 설정한 후 유지하고 있어야 함

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

mid

Uint8

M

모듈 논리주소

onoff_tt

Uint16

CM

점소등소요시간 (100ms)

dimup_tt

Uint16

CM

밝기 증가시 목표 밝기도달 소요시간 (100ms)

dimdn_tt

Uint16

CM

밝기 감소시 목표 밝기도달 소요시간 (100ms)

on_htime

Uint16

CM

점등유지시간(s)

off_htime

Uint16

CM

소등유지시간(s)

on_dtime

Uint16

CM

점등대기시간(s)

off_dtime

Uint16

CM

소등대기시간(s)

color_tt

Uint16

CM

색상 및 상관 색온도 변환 소요시간 (100ms)

offlevel

Uint8

CM

Off 명령어시 소등되는 밝기

level_rate

Uint8

CM

조명 출력 비율

rperiod

Uint16

CM

조명 상태정보 보고 주기 (s)

last_light

String(6~7)

CM

점등시 마지막 조명상태 복구

onconfig

Object

CM

조명 점등 상태정보 객체

onlevel

Uint8

CM

조명 점등시 밝기

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

Payload

Example 1

did=32;

onoff_tt=50;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

offlevel=20

 

Payload

Example 2

did=32;

onoff_tt=0;

level_rate=80;

rperiod=300;

last_light=enable;

onconfig={onlevel=80; colortemp=6000}

 

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

- 디바이스는 조명의 설정정보를 설정한 후 유지하고 있어야 함

 

 

2.5.5 조명 점등 상태정보 조회

현재 디바이스의 조명상태를 조명이 점등될 때의 조명 점등 상태정보(lightconfit/onconfig) 조회를 요청하는 API이다.

 

1.1.5.1 전체 조명 모듈 조회

디바이스의 모든 조명 모듈의 점등 상태정보를 조회하기 위해 사용하는 API이다.

단독 조명 모듈인 조명 디바이스도 동일하게 응답한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/onconfig

Accept: text/plain

비고

- Payload없음

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

onconfig_list

Object Array

M

조명 점등 상태정보 객체

mid

Uint8

M

모듈 논리주소

onlevel

Uint8

M

조명 점등시 밝기

colortemp

Uint16(4)

CM

조명 상관 색온도

- 조건: 상관 색온도 제어가 가능한 경우

r

Uint8

CM

조명 광(HSB)의 색상

- 조건: HSB 방식 제어가 가능한 경우

g

Uint8

CM

조명 광(HSB)의 포화도(saturation)

- 조건: HSB 방식 제어가 가능한 경우

b

Uint8

CM

조명 광(HSB)의 휘도(brightness)

- 조건: HSB 방식 제어가 가능한 경우

x

Float(3,2)

CM

조명 광(CIE 1931 xy 색좌표)의 x

- 조건: CIE 1931 xy 색좌표 방식 제어가 가능한 경우

y

Float(3,2)

CM

조명 광(CIE 1931 xy 색좌표)의 y

- 조건: CIE 1931 xy 색좌표 방식 제어가 가능한 경우

hue

Uint8

CM

조명 광(R, G, B)의 적색(Red)

- 조건: RGB 표색계 방식 제어가 가능한 경우

sat

Uint8

CM

조명 광(R, G, B)의 녹색(Green)

- 조건: RGB 표색계 방식 제어가 가능한 경우

bright

Uint8

CM

조명 광(R, G, B)의 청색(Blue)

- 조건: RGB 표색계 방식 제어가 가능한 경우

Payload

Example

did=32;

onconfig_list=[

{mid=2;onlevel=100;colortemp=3500;r=0;g=0;b=0},

{mid=3;onlevel=100;colortemp=3500}

]

 

비고

- 조명이 제공하는 모든 속성에 대하여 응답하여야 함

               
 

 

2.5.5.2 개별 조명 모듈 조회

디바이스의 개별 조명 모듈의 점등 상태정보를 조회하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/modules/{mid}/onconfig

Accept: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

비고

 

             
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

onlevel

Uint8

M

조명 점등시 밝기

colortemp

Uint16(4)

CM

조명 상관 색온도

- 조건: 상관 색온도 제어가 가능한 경우

r

Uint8

CM

조명 광(HSB)의 색상

- 조건: HSB 방식 제어가 가능한 경우

g

Uint8

CM

조명 광(HSB)의 포화도(saturation)

- 조건: HSB 방식 제어가 가능한 경우

b

Uint8

CM

조명 광(HSB)의 휘도(brightness)

- 조건: HSB 방식 제어가 가능한 경우

x

Float(3,2)

CM

조명 광(CIE 1931 xy 색좌표)의 x

- 조건: CIE 1931 xy 색좌표 방식 제어가 가능한 경우

y

Float(3,2)

CM

조명 광(CIE 1931 xy 색좌표)의 y

- 조건: CIE 1931 xy 색좌표 방식 제어가 가능한 경우

hue

Uint8

CM

조명 광(R, G, B)의 적색(Red)

- 조건: RGB 표색계 방식 제어가 가능한 경우

sat

Uint8

CM

조명 광(R, G, B)의 녹색(Green)

- 조건: RGB 표색계 방식 제어가 가능한 경우

bright

Uint8

CM

조명 광(R, G, B)의 청색(Blue)

- 조건: RGB 표색계 방식 제어가 가능한 경우

Payload

Example

did=32;

onlevel=100;

colortemp=3500;

r=0;

g=0;

b=0;

 

비고

- 조명이 제공하는 모든 속성에 대하여 응답하여야 함

               
 

 

2.5.6 조명 점등 상태정보 변경

조명이 점등될 때의 조명 상태정보 변경을 요청하는 API이다.

점등 상태정보는 디바이스의 flash memory에 저장되어 전원 차단 상태에서도 해당 정보를 유지하고 있어야 하고, 디바이스에 전원이 재공급되는 경우 또는 조명 설정정보(lightconfig)의 조명 상태복구(last_light) 속성이 비활성화(disable)인 경우에 flash memory에 설정된 조명 점등 상태정보(onconfig)로 점등되어야 한다.

조명 기능을 제공하는 모든 스마트 조명 디바이스는 본 API를 지원하여야 한다.

 

2.5.6.1 전체 조명 모듈 동일 변경

디바이스의 모든 조명 모듈의 점등 상태정보를 변경하기 위해 사용하는 API이다.

설정 가능한 모든 속성을 포함하지 않는 경우에는 설정에 포함되지 않은 속성은 기존에 설정된 속성 값으로 동작하므로 실제 동작 결과는 다를 수 있다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.03 (PUT)

0.06 (PATCH)

URI-Path: {base_url}/onconfig

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

onlevel

Uint8

O

조명 점등시 밝기

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

Payload

Example 1

// PUT

onlevel=100

조명이 제공하는 모든 항목(onlevel, colortemp)중 colortemp 가 빠진 상태로 요청

Payload

Example 2

// PATCH

onlevel=100

조명이 제공하는 모든 항목(onlevel, colortemp)중 colortemp 가 빠진 상태로 요청

비고

 

               
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

onlevel

Uint8

M

조명 점등시 밝기

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

Payload

Example 1

// PUT 응답

did=32;

onlevel=100;

colortemp=3000

조명이 제공하는 모든 항목(onlevel, colortemp)중 colortemp가 빠진 상태로 요청했지만 colortemp를 포함하여 응답

Payload

Example 2

// PATCH 응답

did=32;

onlevel=100

조명이 제공하는 모든 항목(onlevel, colortemp)중 colortemp 가 빠진 상태로 요청하여 요청 항목만 응답

비고

- 응답의 CM 조건

. 요청 Code가 PUT인 경우 제공 가능한 모든 속성이 응답에 포함되어야 함

. 요청 Code가 PATCH인 경우 요청에 포함된 속성은 응답에도 포함되어야 함

               
 

 

2.5.6.2 전체 조명 모듈 개별 변경

디바이스의 전체 조명 모듈의 점등 상태정보를 개별로 변경하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.03 (PUT)

0.06 (PATCH)

URI-Path: {base_url}/onconfig

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

onconfig_list

Object Array

M

조명 점등 상태정보 객체

mid

Uint8

M

모듈 논리주소

onlevel

Uint8

O

조명 점등시 밝기

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

Payload

Example 1

// PUT 요청

onconfig_list=[

{mid=2;onlevel=100},

{mid=3;onlevel=100}

  ]

조명이 제공하는 모든 항목(onlevel, colortemp)중 colortemp 가 빠진 상태로 요청

Payload

Example 2

// PATCH 요청

onconfig_list=[

{mid=2;onlevel=100},

{mid=3;onlevel=100}

  ]

조명이 제공하는 모든 항목(onlevel, colortemp)중 colortemp 가 빠진 상태로 요청

비고

 

               
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

onconfig_list

Object Array

M

조명 점등 상태정보 객체

mid

Uint8

M

모듈 논리주소

onlevel

Uint8

M

조명 점등시 밝기

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

Payload

Example 1

// PUT 응답

did=32;

onconfig_list=[

{mid=2;onlevel=100;colortemp=3000},

{mid=3;onlevel=100;colortemp=3000}

]

조명이 제공하는 모든 항목(onlevel, colortemp)중 colortemp가 빠진 상태로 요청했지만 colortemp를 포함하여 응답

Payload

Example 2

// PATCH 응답

did=32;

onconfig_list=[

{mid=2;onlevel=100},

{mid=3;onlevel=100}

]

조명이 제공하는 모든 항목(onlevel, colortemp)중 colortemp 가 빠진 상태로 요청하여 요청 항목만 응답

비고

- 응답의 CM 조건

. 요청 Code가 PUT인 경우 제공 가능한 모든 속성이 응답에 포함되어야 함

. 요청 Code가 PATCH인 경우 요청에 포함된 속성은 응답에도 포함되어야 함

               
 

 

2.5.6.3 개별 조명 모듈 변경

디바이스의 개별 조명 모듈의 점등 상태정보를 변경하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.03 (PUT)

0.06 (PATCH)

URI-Path: {base_url}/modules/{mid}/onconfig

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

Payload

항목

타입(길이)

C

내용

onlevel

Uint8

O

조명 점등시 밝기

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

Payload

Example 1

// PUT

onlevel=100

조명이 제공하는 모든 항목(onlevel, colortemp)중 colortemp 가 빠진 상태로 요청

Payload

Example 2

// PATCH

onlevel=100

조명이 제공하는 모든 항목(onlevel, colortemp)중 colortemp 가 빠진 상태로 요청

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

mid

Uint8

M

모듈 논리주소

onlevel

Uint8

CM

조명 점등시 밝기

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

Payload

Example 1

// PUT 응답

did=32;

mid=2;

onlevel=100;

colortemp=3000

조명이 제공하는 모든 항목(onlevel, colortemp)중 colortemp가 빠진 상태로 요청했지만 colortemp를 포함하여 응답

Payload

Example 2

// PATCH 응답

did=32;

mid=2;

onlevel=100

조명이 제공하는 모든 항목(onlevel, colortemp)중 colortemp 가 빠진 상태로 요청하여 요청 항목만 응답

비고

- 응답의 CM 조건

. 요청 Code가 PUT인 경우 제공 가능한 모든 속성이 응답에 포함되어야 함

. 요청 Code가 PATCH인 경우 요청에 포함된 속성은 응답에도 포함되어야 함

               
 

 

2.5.7 현재 조명상태의 점등 상태정보 저장

현재 디바이스의 조명상태를 조명이 점등될 때의 조명 점등 상태정보로 저장을 요청하는 API이다.

제공하는 조명 상태정보의 모든 속성에 대해 저장하여야 한다. 점등 상태정보는 디바이스의 flash memory에 저장되어 전원 차단 상태에서도 해당 정보를 유지하고 있어야 하고, 디바이스에 전원이 재공급되는 경우 또는 조명 설정정보(lightconfig)의 조명 상태복구(last_light) 속성이 비활성화(disable)인 경우에 flash memory에 설정된 조명 점등 상태정보(onconfig)로 점등되어야 한다.

 

2.5.7.1 전체 조명 모듈 저장

디바이스의 모든 조명 모듈의 점등 상태정보를 현재 상태로 변경하기 위해 사용하는 API이다.

단독 조명 모듈인 조명 디바이스도 동일하게 응답한다.

  • Request

Header

Ver

Type

Code

Options

01

CON

0.03 (PUT)

URI-Path: {base_url}/onconfig

Content-Format: text/plain

비고

- Payload없음

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

onconfig_list

Object Array

M

조명 점등 상태정보 객체

mid

Uint8

M

모듈 논리주소

onlevel

Uint8

M

조명 점등시 밝기

colortemp

Uint16(4)

CM

조명 상관 색온도

- 조건: 상관 색온도 제어가 가능한 경우

r

Uint8

CM

조명 광(HSB)의 색상

- 조건: HSB 방식 제어가 가능한 경우

g

Uint8

CM

조명 광(HSB)의 포화도(saturation)

- 조건: HSB 방식 제어가 가능한 경우

b

Uint8

CM

조명 광(HSB)의 휘도(brightness)

- 조건: HSB 방식 제어가 가능한 경우

x

Float(3,2)

CM

조명 광(CIE 1931 xy 색좌표)의 x

- 조건: CIE 1931 xy 색좌표 방식 제어가 가능한 경우

y

Float(3,2)

CM

조명 광(CIE 1931 xy 색좌표)의 y

- 조건: CIE 1931 xy 색좌표 방식 제어가 가능한 경우

hue

Uint8

CM

조명 광(R, G, B)의 적색(Red)

- 조건: RGB 표색계 방식 제어가 가능한 경우

sat

Uint8

CM

조명 광(R, G, B)의 녹색(Green)

- 조건: RGB 표색계 방식 제어가 가능한 경우

bright

Uint8

CM

조명 광(R, G, B)의 청색(Blue)

- 조건: RGB 표색계 방식 제어가 가능한 경우

Payload

Example

did=32;

conconfig_list=[

{mid=2;onlevel=100;colortemp=3500;r=250;g=250;b=100},

{mid=3;onlevel=100;colortemp=3500;r=0;g=0;b=0}

]

조명이 제공하는 항목 모두에 대하여 저장된 값으로 응답

비고

 

               
 

 

2.5.7.2 개별 조명 모듈 저장

디바이스의 개별 조명 모듈의 점등 상태정보를 현재 상태로 변경하기 위하여 사용하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.03 (PUT)

URI-Path: {base_url}/modules/{mid}/onconfig

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

비고

- Payload없음

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

mid

Uint8

M

모듈 논리주소

onlevel

Uint8

M

조명 점등시 밝기

colortemp

Uint16(4)

CM

조명 상관 색온도

- 조건: 상관 색온도 제어가 가능한 경우

r

Uint8

CM

조명 광(HSB)의 색상

- 조건: HSB 방식 제어가 가능한 경우

g

Uint8

CM

조명 광(HSB)의 포화도(saturation)

- 조건: HSB 방식 제어가 가능한 경우

b

Uint8

CM

조명 광(HSB)의 휘도(brightness)

- 조건: HSB 방식 제어가 가능한 경우

x

Float(3,2)

CM

조명 광(CIE 1931 xy 색좌표)의 x

- 조건: CIE 1931 xy 색좌표 방식 제어가 가능한 경우

y

Float(3,2)

CM

조명 광(CIE 1931 xy 색좌표)의 y

- 조건: CIE 1931 xy 색좌표 방식 제어가 가능한 경우

hue

Uint8

CM

조명 광(R, G, B)의 적색(Red)

- 조건: RGB 표색계 방식 제어가 가능한 경우

sat

Uint8

CM

조명 광(R, G, B)의 녹색(Green)

- 조건: RGB 표색계 방식 제어가 가능한 경우

bright

Uint8

CM

조명 광(R, G, B)의 청색(Blue)

- 조건: RGB 표색계 방식 제어가 가능한 경우

Payload

Example

did=32;

mid=2;

onlevel=100;

colortemp=3500;

r=250;

g=250;

b=100

조명이 제공하는 항목 모두에 대하여 저장된 값으로 응답

비고

 

               
2.6 센서 API

2.6.1 센서 공통 설정정보 조회

본 절에서는 게이트웨이, UD1, TS1 등에서 디바이스의 센서 설정정보를 조회하는 API의 기본 구조를 제시한다. 센서 설정정보의 세부 항목들은 센서의 종류(minfo/mtype)와 센서의 출력 형식(sensor/vtype)에 따라 달라질 수 있다. 센서는 문의 개폐 상태, 인지 상태 등을 문자열(string) 형태의 상태(status) 정보를 제공하는 Status형 센서와 온도, 습도, 조도 등을 정수(uint) 또는 실수(float) 형태의 값(value)을 제공하는 Value형 센서로 구분한다.

 

2.6.1.1 전체 센서 모듈 조회

디바이스의 전체 센서 모듈에 대한 공통 설정정보를 조회하는 API이다.

센서 공통 설정정보는 센서 모듈의 종류와 출력 형식과 무관하게 공통으로 제공되는 설정정보이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/sensor

Accept: text/plain

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

sensor_list

Object Array

M

센서 모듈 객체

mid

Uint8

M

모듈 논리주소

active

String(6~7)

M

센서의 동작 유무 정보

opmode

String(3~10)

M

센서 이벤트 발생시 동작 모드

mperiod

Uint16

M

센서 측정 주기

rperiod

Uint16

O

센서 상태정보 보고 주기

vtype

String

M

센서 출력의 데이터 형식

value

{vtype}

M

센서 출력

Payload

Example

did=32;

sensor_list=[

{

mid=2;

active=enable;

opmode=act_notify;

mperiod=100;

rperiod=300;

vtype=string;

value=n

},

{

mid=3;

active=enable;

opmode=notify;

mperiod=100;

rperiod=300;

vtype=uint16;

value=543

},

{

mid=4;

active=enable;

opmode=act_notify;

mperiod=100;

rperiod=300;

vtype=float;

value=28.5,

}

]

mid=2 인지센서 정보

mid=3 조도센서 정보

mid=4 온도센서 정보

비고

 

               
 

 

2.6.1.2 특정 센서종류 조회

디바이스의 전체 센서 모듈 중에서 특정 센서종류의 공통 설정정보를 조회하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/sensor?mtype={mtype}

Accept: text/plain

Header

Parameter

항목

타입(길이)

내용

mtype

String(1)

모듈 종류

Payload

Example 1

URI-Path: {base_url}/sensor?mtype=5

모든 인지센서의 공통 설정정보 조회

비고

 

             
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

sensor_list

Object Array

M

센서 모듈 객체

mid

Uint8

M

모듈 논리주소

active

String(6~7)

M

센서의 동작 유무 정보

opmode

String(3~10)

M

센서 이벤트 발생시 동작 모드

mperiod

Uint16

M

센서 측정 주기

rperiod

Uint16

O

센서 상태정보 보고 주기

vtype

String

M

센서 출력의 데이터 형식

value

String

M

센서 상태 출력

Payload

Example 1

did=32;

sensor_list=[

{

mid=2;

active=enable;

opmode=act_notify;

mperiod=100;

rperiod=300;

vtype=string;

value=n

},

{

mid=3;

active=enable;

opmode=act_notify;

mperiod=100;

rperiod=300;

vtype=string

value=n

}

]

모든 인지센서의 공통 설정정보 응답

비고

 

               
 

 

2.6.2 센서 개별 설정정보 조회

센서 개별 설정정보 조회 API는 디바이스의 개별 센서 모듈에 대한 모든 설정정보를 조회하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/modules/{mid}/sensor

Accept: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

비고

 

 

 

2.6.2.1 Status형 응답

Status형 센서의 응답에서는 문의 개폐 상태, 인지 상태 등을 문자열(string) 형태의 상태(status) 정보를 제공한다.

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

mid

Uint8

M

모듈 논리주소

active

String(6~7)

M

센서의 동작 유무 정보

opmode

String(3~10)

M

센서 이벤트 발생시 동작 모드

mperiod

Uint16

M

센서 측정 주기

rperiod

Uint16

O

센서 상태정보 보고 주기

vtype

String

M

센서 출력의 데이터 형식

value

String

M

센서 상태 출력

control_list

Object Array

CM

이벤트 발생 시 제어 정보

- 조건: opmode가 act, act_notify인 경우

key

String

M

이벤트 키

scid

Uint16

CM

장면 논리주소

- 조건: tlist가 포함되지 않은 경우

tlist

Object Array

CM

제어 대상 및 상태정보 객체

- 조건: scid가 포함되지 않은 경우

light

Object

M

조명 상태정보 객체

{light attribute}

-

M

조명 상태정보 하위 속성

did

Uint16

CM

디바이스 논리주소

- 조건: mid를 포함하는 경우

mid

Uint8

CM

모듈 논리주소

gid

Uint16

CM

그룹 논리주소

{특수 속성}

{자체 정의}

O

센서 종류에 따른 고유 속성

Payload

Example 1

did=32;

mid=2;

active=enable;

opmode=act_notify;

mperiod=100;

rperiod=300;

vtype=string;

value=n;

control_list=[

{ key=p; scid=2 },

{ key=t; scid=3 },

{ key=n; scid=4 }

];

period=10;

ptime=200;

ttime=150

센서 모듈 공통 설정정보와 장면을 이용한 이벤트 발생 시 제어 정보

Payload

Example 2

did=32;

mid=3;

active=enable;

opmode=act_notify;

mperiod=100;

rperiod=300;

vtype=string;

value=n,

control_list=[

{

key=p;

tlist=[

{

light={onoff=on; level=100; colortemp=3000};

gid=2

}

]

},

{

key=t;

tlist=[

{

light={level=70};

did=32

}

]

},

{

key=n;

tlist=[

{

light={onoff=off};

gid=2

}

]

}

];

klist=[p, t, n];

period=10;

ptime=200;

ttime=150

센서 모듈 공통 설정정보와 조명 상태정보와 디바이스/모듈/그룹 논리주소 조합을 이용한 이벤트 발생시 제어 정보

비고

- Status형 센서의 이벤트 키는 스마트 조명 속성 규격서의 센서 특수 속성에서 정의함

               
 

 

2.6.2.2 Value형 응답

Value형 센서의 응답에서는 온도, 습도, 조도 등을 정수(uint) 또는 실수(float) 형태의 값(value)을 제공한다.

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

mid

Uint8

M

모듈 논리주소

active

String(6~7)

M

센서의 동작 유무 정보

opmode

String(3~10)

M

센서 이벤트 발생시 동작 모드

mperiod

Uint16

M

센서 측정 주기

rperiod

Uint16

O

센서 상태정보 보고 주기

channel

Uint8

O

센서 출력의 채널 수

vtype

String

M

센서 출력(value)의 데이터 형식

value

String

M

센서 상태 출력

control_list

Object Array

CM

이벤트 발생 시 제어 정보

- 조건: opmode가 act, act_notify인 경우

key

String

M

이벤트 키

scid

Uint16

CM

장면 논리주소

- 조건: tlist가 포함되지 않은 경우

tlist

Object Array

CM

제어 대상 및 상태정보 객체

- 조건: scid가 포함되지 않은 경우

light

Object

M

조명 상태정보 객체

{light attribute}

-

M

조명 상태정보 하위 속성

did

Uint16

CM

디바이스 논리주소

- 조건: mid를 포함하는 경우

mid

Uint8

CM

모듈 논리주소

gid

Uint16

CM

그룹 논리주소

high

{vtype value}

O

High level 값

base

{vtype value}

O

Base level 값

low

{vtype value}

O

Low level 값

{특수 속성}

{자체 정의}

O

센서 종류에 따른 고유 속성

Payload

Example 1

did=32;

mid=3;

active=enable;

opmode=act_notify;

mperiod=100;

rperiod=300;

vtype=uint16;

value=650;

control_list=[

{ key=h; scid=2 },

{ key=b; scid=3 },

{ key=l; scid=4 }

]

high=1000;

base=600;

low=200;

adjust_rate=45.7,

aperiod=600

[조도 센서 정보]

value(조도 출력) 속성의 데이터 타입은 “uint16”

채널(1개) 삭제

현재 조도는 “650”lux

High, base, low 조도 상태별 제어정보

High, base, low 조도값

특수속성

- 조도센서 위치에 따른 조도기준값에 대한 비례값(%)은 45.7

- 평균조도 산출 주기(100ms)는 1분

비고

- 모든 Value형 센서의 이벤트 키는 h(최고값), b(기본값), l(최저값)으로 구분함

               
 

 

2.6.3 센서 공통 설정정보 변경

본 절에서는 게이트웨이, UD1, TS1 등에서 디바이스의 센서 설정정보를 설정하는 API의 기본 구조를 제시한다. 개별 센서의 형식(vtype)과 센서 종류에 따라 세부 항목은 달라질 수 있다.

 

2.6.3.1 전체 센서 모듈 동일 변경

디바이스의 모든 센서 모듈을 동일하게 설정하기 위해 사용하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.06 (PATCH)

URI-Path: {base_url}/sensor

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

active

String(6~7)

O

센서의 동작 유무 정보

opmode

String(3~10)

O

센서 이벤트 발생시 동작 모드

mperiod

Uint16

O

센서 측정 주기

rperiod

Uint16

O

센서 상태정보 보고 주기

Payload

Example

active=enable;

opmode=notify;

mperiod=100

 

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

active

String(6~7)

CM

센서의 동작 유무 정보

opmode

String(3~10)

CM

센서 이벤트 발생시 동작 모드

mperiod

Uint16

CM

센서 측정 주기

rperiod

Uint16

CM

센서 상태정보 보고 주기

Payload

Example

did=32;

active=enable;

opmode=notify;

mperiod=100

디바이스에 연결된 모든 센서 모듈이 동일하게 설정됨

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

               
 

 

2.6.3.2 특정 센서종류 동일 변경

디바이스의 전체 센서 모듈중에서 동일한 센서종류에 대하여 모든 센서의 설정정보를 동일하게 변경하기 위해 사용하는 API이다.

특정 센서종류의 설정정보 속성들은 동일하므로 모든 변경가능한 설정정보를 포함한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.06 (PATCH)

URI-Path: {base_url}/sensor?mtype={mtype}

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

mtype

String(1)

모듈 종류

Payload

항목

타입(길이)

C

내용

active

String(6~7)

O

센서의 동작 유무 정보

opmode

String(3~10)

O

센서 이벤트 발생시 동작 모드

mperiod

Uint16

O

센서 측정 주기

rperiod

Uint16

O

센서 상태정보 보고 주기

Payload

Example

opmode=act_notify;

mperiod=100;

rperiod=300;

모든 조도센서의 공통 설정정보 변경

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

sensor_list

Object Array

M

센서 모듈 객체

mid

Uint8

M

모듈 논리주소

active

String(6~7)

CM

센서의 동작 유무 정보

opmode

String(3~10)

CM

센서 이벤트 발생시 동작 모드

mperiod

Uint16

CM

센서 측정 주기

rperiod

Uint16

CM

센서 상태정보 보고 주기

Payload

Example

did=32;

sensor_list=[

{mid=2;active=enable;opmode=notify;mperiod=100},

{mid=3;active=disable}

]

 

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

 

 

2.6.4 센서 개별 설정정보 변경

센서 개별 설정정보 변경 API는 디바이스의 개별 센서 모듈에 대한 모든 설정정보를 변경하는 API이다.

 

2.6.4.1 Status형 센서 모듈 변경

Status형 센서 모듈에 대한 모든 설정정보를 변경하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.06 (PATCH)

URI-Path: {base_url}/modules/{mid}/sensor

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

Payload

항목

타입(길이)

C

내용

active

String(6~7)

O

센서의 동작 유무 정보

opmode

String(3~10)

O

센서 이벤트 발생시 동작 모드

mperiod

Uint16

O

센서 측정 주기

rperiod

Uint16

O

센서 상태정보 보고 주기

control_list

Object Array

O

이벤트 발생 시 제어 정보

{control attributes}

-

-

이벤트 발생 시 제어 정보 하위 속성

{특수 속성}

{자체 정의}

O

센서 종류에 따른 고유 속성

Payload

Example

active=enable;

opmode=notify;

mperiod=5;

period=2;

 

비고

- 이벤트 발생 시 제어 정보에는 장면 논리주소(scid)와 제어 대상 및 상태정보 객체(tlist) 중 하나만 제공되어야 함

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

active

String(6~7)

CM

센서의 동작 유무 정보

opmode

String(3~10)

CM

센서 이벤트 발생시 동작 모드

mperiod

Uint16

CM

센서 측정 주기

rperiod

Uint16

CM

센서 상태정보 보고 주기

control_list

Object Array

CM

이벤트 발생 시 제어 정보

{control attributes}

-

CM

이벤트 발생 시 제어 정보 하위 속성

{특수 속성}

{자체 정의}

CM

센서 종류에 따른 고유 속성

Payload

Example

did=32;

active=enable;

opmode=notify;

mperiod=5;

period=2;

 

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

 

 

2.6.4.2 Value형 센서 모듈 변경

Value형 센서 모듈에 대한 모든 설정정보를 변경하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.06 (PATCH)

URI-Path: {base_url}/modules/{mid}/sensor

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

Payload

항목

타입(길이)

C

내용

active

String(6~7)

M

센서의 동작 유무 정보

opmode

String(3~10)

M

센서 이벤트 발생시 동작 모드

mperiod

Uint16

M

센서 측정 주기

rperiod

Uint16

O

센서 상태정보 보고 주기

channel

Uint8

O

센서 출력의 채널 수

control_list

Object Array

O

이벤트 발생 시 제어 정보

{control attributes}

-

-

이벤트 발생 시 제어 정보 하위 속성

{특수 속성}

{자체 정의}

O

센서 종류에 따른 고유 속성

Payload

Example

active=enable;

opmode=notify;

mperiod=100;

control_list=[

{ key=h; light={level=100} }

];

high=800

 

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

active

String(6~7)

M

센서의 동작 유무 정보

opmode

String(3~10)

M

센서 이벤트 발생시 동작 모드

mperiod

Uint16

M

센서 측정 주기

rperiod

Uint16

CM

센서 상태정보 보고 주기

channel

Uint8

CM

센서 출력의 채널 수

control_list

Object Array

CM

이벤트 발생 시 제어 정보

{control attributes}

-

CM

이벤트 발생 시 제어 정보 하위 속성

{특수 속성}

{자체 정의}

CM

센서 종류에 따른 고유 속성

Payload

Example

did=32;

active=enable;

opmode=notify;

mperiod=100;

hcontrol={level=100};

high=800

 

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

               
 

 

 

2.6.5 센서 출력정보 조회

본 절에서는 센서 모듈의 출력정보를 조회하는 API를 제시한다.

 

2.6.5.1 전체 센서 모듈 조회

디바이스의 전체 센서 모듈에 대한 센서 출력을 조회하는 API이다.

요청 메시지에 관찰(Observe) 옵션이 포함된 경우 디바이스는 센서 설정정보의 센서 출력정보 보고 주기(rperiod) 마다 센서 출력정보를 포함하는 응답 메시지를 전송하여야 한다. 센서 모듈별 보고 주기가 다른 경우 가장 큰 값을 사용한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/sensor?attr=value

Accept: text/plain

(Optional) Observe: 0

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

sensor_list

Object Array

M

센서 모듈 객체

mid

Uint8

M

모듈 논리주소

mtype

Uint8

M

모듈 상세 종류

vtype

String

M

센서 출력의 데이터 형식

value

{vtype}

M

센서 출력

Payload

Example

did=32;

sensor_list=[

{

mid=2;

vtype=string;

value=n

},

{

mid=3;

vtype=uint16

value=543

},

{

mid=4;

vtype=float

value=28.3,

}

]

mid=2 인지센서 출력정보

mid=3 조도센서 출력정보

mid=4 온도센서 출력정보

비고

 

               
 

 

2.6.5.2 특정 센서타입 조회

디바이스의 전체 센서 모듈 중에서 특정 센서종류의 센서 출력을 조회하는 API이다.

요청 메시지에 관찰(Observe) 옵션이 포함된 경우 디바이스는 센서 설정정보의 센서 출력정보 보고 주기(rperiod) 마다 센서 출력정보를 포함하는 응답 메시지를 전송하여야 한다. 센서 모듈별 보고 주기가 다른 경우 가장 큰 값을 사용한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/sensor?mtype={mtype}&attr=value

Accept: text/plain

(Optional) Observe: 0

Header

Parameter

항목

타입(길이)

내용

mtype

String(1)

모듈 종류

Payload

Example 1

URI-Path: {base_url}/sensor?mtype=5&attr=value

모든 인지센서의 센서 출력 조회

비고

 

             
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

sensor_list

Object Array

M

센서 모듈 객체

mid

Uint8

M

모듈 논리주소

vtype

String

M

센서 출력의 데이터 형식

value

{vtype}

M

센서 상태 출력

Payload

Example 1

did=32;

sensor_list=[

{

mid=2;

vtype=string;

value=n

}

]

모든 인지센서의 센서 출력 응답

비고

 

               
 

 

2.6.5.3 개별 센서 모듈 조회

디바이스의 개별 센서 모듈 단위로 센서 출력을 조회하는 API이다.

개별 센서 모듈의 센서 출력 조회에서는 센서의 종류와 센서 데이터의 형식을 포함하지 않는다. 요청자는 개별 센서 모듈의 센서의 종류와 센서 데이터의 형식을 알고 있어야 한다. 요청 메시지에 관찰(Observe) 옵션이 포함된 경우 디바이스는 센서 설정정보의 센서 출력정보 보고 주기(rperiod) 마다 센서 출력정보를 포함하는 응답 메시지를 전송하여야 한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/modules/{mid}/sensor?attr=value

Accept: text/plain

(Optional) Observe: 0

Header

Parameter

항목

타입(길이)

내용

mid

Uint8

모듈 논리주소

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

mid

Uint8

M

모듈 논리주소

value

String

M

센서 상태 출력

Payload

Example 1

did=32;

mid=2;

value=n

인지센서 출력정보

Payload

Example 2

did=32;

mid=3;

value=650

조도센서 출력정보

비고

 

               
2.7 그룹 API

2.7.1 그룹 등록

스마트 조명 디바이스에 그룹 등록을 요청하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.02 (POST)

URI-Path: {base_url}/groups

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

gid

Uint16(5)

M

그룹 논리주소

gmtype

String

M

그룹 멤버 종류

mid_list

Uint8 Array

CM

디바이스 모듈 논리주소 목록

- 조건: 그룹 멤버 종류(gmtype)이 모듈(m)인 경우

gname

String(var)

O

그룹명

Payload

Example 1

gid=4;

gmtype=d;

gname=west-lights

디바이스 그룹 등록

Payload

Example 2

gid=40;

gmtype=m;

mid_list=[2];

gname=west-lights

mid=3 모듈만 그룹 등록

비고

- mid_list 항목을 포함하는 경우 해당 모듈만 그룹에 포함

               
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.01 (Created)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

gid

Uint16(5)

M

그룹 논리주소

gmtype

String

M

그룹 멤버 종류

mid_list

Uint8 Array

CM

디바이스 모듈 논리주소 목록

- 조건: 그룹 멤버 종류(gmtype)이 모듈(m)인 경우

gname

String(var)

O

그룹명

Payload

Example 1

did=32;

gid=4;

gmtype=d;

gname=west-lights

디바이스 그룹 등록 확인

Payload

Example 2

did=32;

gid=40;

gmtype=m;

mid_list=[2];

gname=west-lights

mid=3 모듈만 그룹 등록 확인

비고

- mid 항목을 포함하는 경우 해당 모듈만 그룹에 포함

               
 

 

2.7.2 그룹 목록 조회

 

2.7.2.1 그룹 전체 목록 조회

스마트 조명 디바이스에 등록된 전체 그룹 정보를 조회하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/groups

Accept: text/plain

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

gcap

Object

M

디바이스의 그룹 수용능력

  numg

Uint8

O

지원 가능한 그룹 개수

  usedg

Uint8

O

사용중인 그룹 개수

groups

Object Array

M

그룹 객체 정보 목록

gid

Uint16(5)

O

그룹 논리주소

gmtype

String

M

그룹 멤버 종류

mid_list

Uint8 Array

CM

디바이스 모듈 논리주소 목록

- 조건: 그룹 멤버 종류(gmtype)이 모듈(m)인 경우

gname

String(var)

O

그룹명

Payload

Example

did=32;

gcap={numg=10; usedg=2};

groups=[

{gid=4; gmtype=d;},

{gid=40; gmtype=m; mid_list=[2]}

]

 

비고

- 디바이스의 그룹 수용능력(gap)의 사용중인 그룹 개수(usedg)와 그룹 객체 정보 목록(groups)의 항목 수는 동일하여야 함

               
 

 

2.7.2.2 그룹 논리주소 목록 조회

스마트 조명 디바이스에 등록된 전체 그룹의 논리주소를 조회하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/groups?attr=gid

Accept: text/plain

Example 1

Option: {base_url}/group?attr=gid

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

gid_list

Object Array

M

그룹 논리주소 목록

gid

Uint16(5)

M

그룹 논리주소

Payload

Example

did=32;

gid_list=[4,40]

 

비고

 

               
 

 

2.7.3 그룹 수용능력 조회

스마트 조명 디바이스의 그룹 수용능력을 조회하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/groups?attrs=gcap

Accept: text/plain

Example 1

Option: {base_url}/group?attr=gid

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

gcap

Object

M

디바이스의 그룹 수용능력

  numg

Uint8

O

지원 가능한 그룹 개수

  usedg

Uint8

M

사용중인 그룹 개수

Payload

Example

did=32;

gcap={numg=10; usedg=2}

 

비고

 

               
 

 

2.7.4 그룹 구성정보 조회

스마트 조명 디바이스에 등록된 그룹의 구성정보를 조회하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/groups/{gid}

Accept: text/plain

Header

Parameter

항목

타입(길이)

내용

gid

Uint16

그룹 논리주소

Example 1

Option: {base_url}/groups/4

Example 2

Option: {base_url}/groups/40

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

gid

Uint16(5)

M

그룹 논리주소

gmtype

String

M

그룹 멤버 종류

mid_list

Uint8 Array

CM

디바이스 모듈 논리주소 목록

- 조건: 그룹 멤버 종류(gmtype)이 모듈(m)인 경우

gname

String(var)

O

그룹명

Payload

Example 1

did=32;

gid=4;

gmtype=d;

gname=west-lights

 

Payload

Example 2

did=32;

gid=40;

gmtype=m;

mid_list=[2];

gname=west-lights

 

비고

- gname이 설정되어 있으면 함께 전송

               
 

 

2.7.5 그룹 구성정보 수정

스마트 조명 디바이스에서의 그룹 구성정보 수정을 요청하는 API이다.

그룹 구성정보 수정요청 API에서는 그룹의 이름, 멤버 종류 및 모듈 목록 정보 변경을 제공한다. 디바이스의 그룹 포함 여부가 변경된 경우에는 개별 디바이스에 그룹 등록 API 또는 그룹 삭제 API를 통하여 그룹 포함 여부를 변경하여야 한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.06 (PATCH)

URI-Path: {base_url}/groups/{gid}

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

gname

String(var)

O

그룹명

gmtype

String

O

그룹 멤버 종류

mid_list

Uint8 Array

CM

디바이스 모듈 논리주소 목록

- 조건: 그룹 멤버 종류(gmtype) 속성이 있고 값이 모듈(m)인 경우

Payload

Example 1

gid=4;

gname=west-mid-lights

그룹 이름 변경

Payload

Example 2

gid=40;

gmtype=m;

mid_list=[2]

mid=3 모듈만 그룹 멤버로 변경

Payload

Example 3

gid=40;

gmtype=d

그룹 멤버를 디바이스로 변경

비고

 

               
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

gid

Uint16(5)

M

그룹 논리주소

gname

String(var)

CM

그룹명

gmtype

String

CM

그룹 멤버 종류

mid_list

Uint8 Array

CM

디바이스 모듈 논리주소 목록

- 조건: 그룹 멤버 종류(gmtype) 속성이 있고 값이 모듈(m)인 경우

Payload

Example 1

did=32;

gid=4;

gname=west-mid-lights

그룹 이름 변경

Payload

Example 2

gid=40;

gmtype=m;

mid_list=[2]

mid=3 모듈만 그룹 멤버로 변경

Payload

Example 3

gid=40;

gmtype=d

그룹 멤버를 디바이스로 변경

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

               
 

 

2.7.6 그룹 조명 상태정보 변경 (그룹 조명 제어)

게이트웨이, UD1, TS1 등이 그룹으로 디바이스의 조명을 제어하기 위하여 사용하는 API이다.

방송 URL(broad_url)을 사용하는 그룹 조명 제어 요청은 방송(broadcast) 메시지로 전송되어 다수의 메시지 수신자로부터 다수의 응답 메시지를 발생시킬 수 있다. 이런 경우 요청자는 CoAP 메시지 종류(type)를 비신뢰성 메시지 전송(Non-confirmable)로 선택할 수 있다. 비신뢰성 메시지 전송(Non-confirmable)로 요청하는 경우 상태 변경 유무는 조회를 통하여 확인할 수 있다.

 

  • Request

Header

Ver

Type

Code

Options

 

01

CON

NON

0.06 (PATCH)

URI-Path: {broad_url}/groups/{gid}/light

Content-Format: text/plain

 

Header

Parameter

항목

타입(길이)

내용

 

gid

Uint16

그룹 논리주소

 

Payload

항목

타입(길이)

C

내용

onoff

String(2~3)

O

조명 on/off 상태

level

Uint8

O

조명 밝기(밝기)

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

tt

Uint16

O

조명 제어 동작을 수행하는 시간

Payload

Example

onoff=on;

colortemp=4000;

tt=10

최근 level값으로 On됨

Payload

Example

level=100

off 상태인 경우 level=100으로 점등 되어야 함

비고

- Payload에는 하나 이상의 항목이 있어야 함

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

onoff

String(2~3)

CM

조명 on/off 상태

level

Uint8

CM

조명 밝기(밝기)

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

tt

Uint16

CM

조명 제어 동작을 수행하는 시간

tt는 명령어 수행 후 유지되지 않음

Payload

Example 1

did=32;

onoff=on;

colortemp=4000;

tt=10

 

Payload

Example 2

did=32;

level=50

 

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

- 모듈 디바이스도 Request에서 요청한 항목에 대해서만 응답

 

 

2.7.7 그룹 조명 설정정보 변경

게이트웨이, UD1, TS1 등이 그룹에 포함된 모든 조명 디바이스의 조명 설정정보를 동일하게 설정하기 위한 API이다.

방송 URL(broad_url)을 사용하는 그룹 조명 설정변경 요청은 방송(broadcast) 메시지로 전송되어 다수의 메시지 수신자로부터 다수의 응답 메시지를 발생시킬 수 있다. 이런 경우 요청자는 CoAP 메시지 종류(type)를 비신뢰성 메시지 전송(Non-confirmable)로 선택할 수 있다. 비신뢰성 메시지 전송(Non-confirmable)로 요청하는 경우 설정변경 유무는 조회를 통하여 확인할 수 있다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

NON

0.03 (PUT)

0.06 (PATCH)

URI-Path: {broad_url}/groups/{gid}/lightconfig

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

gid

Uint16

그룹 논리주소

Payload

항목

타입(길이)

C

내용

onoff_tt

Uint16

O

점소등소요시간 (100ms)

dimup_tt

Uint16

O

밝기 증가시 목표 밝기도달 소요시간 (100ms)

dimdn_tt

Uint16

O

밝기 감소시 목표 밝기도달 소요시간 (100ms)

on_htime

Uint16

O

점등유지시간(s)

off_htime

Uint16

O

소등유지시간(s)

on_dtime

Uint16

O

점등대기시간(s)

off_dtime

Uint16

O

소등대기시간(s)

color_tt

Uint16

O

색상 및 상관 색온도 변환 소요시간 (100ms)

offlevel

Uint8

O

Off 명령어시 소등되는 밝기

level_rate

Uint8

O

조명 출력 비율

rperiod

Uint16

O

조명 상태정보 보고 주기 (s)

last_light

String(6~7)

O

점등시 마지막 조명상태 복구

onconfig

Object

O

조명 점등 상태정보 객체

onlevel

Uint8

O

조명 점등시 밝기

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

Payload

Example 1

onoff_tt=50;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

offlevel=20

 

Payload

Example 2

onoff_tt=0;

level_rate=80;

rperiod=300;

last_light=enable;

onconfig={onlevel=80; colortemp=6000}

 

비고

- 디바이스는 조명의 속성 정보를 설정한 후 유지하고 있어야 함

- 조명 제어 명령에 tt가 없는 경우에는 조명 설정정보의 tt 적용하여야 함

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

onoff_tt

Uint16

CM

점소등소요시간 (100ms)

dimup_tt

Uint16

CM

밝기 증가시 목표 밝기도달 소요시간 (100ms)

dimdn_tt

Uint16

CM

밝기 감소시 목표 밝기도달 소요시간 (100ms)

on_htime

Uint16

CM

점등유지시간(s)

off_htime

Uint16

CM

소등유지시간(s)

on_dtime

Uint16

CM

점등대기시간(s)

off_dtime

Uint16

CM

소등대기시간(s)

color_tt

Uint16

CM

색상 및 상관 색온도 변환 소요시간 (100ms)

offlevel

Uint8

CM

Off 명령어시 소등되는 밝기

level_rate

Uint8

CM

조명 출력 비율

rperiod

Uint16

CM

조명 상태정보 보고 주기 (s)

last_light

String(6~7)

CM

점등시 마지막 조명상태 복구

onconfig

Object

CM

조명 점등 상태정보 객체

onlevel

Uint8

CM

조명 점등시 밝기

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

Payload

Example 1

did=32;

onoff_tt=50;

dimup_tt=10;

dimdn_tt=10;

color_tt=10;

offlevel=20

 

Payload

Example 2

did=32;

onoff_tt=0;

level_rate=80;

rperiod=300;

last_light=enable;

onconfig={onlevel=80; colortemp=6000}

 

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

- 디바이스는 조명의 속성 정보를 설정한 후 유지하고 있어야 함

- 조명 제어 명령에 tt가 없는 경우에는 조명 설정정보의 tt 적용하여야 함

 

 

2.7.8 그룹 센서 설정정보 변경

1.1.8.1 그룹 센서 공통 설정정보 변경

게이트웨이, UD1, TS1 등이 그룹에 포함된 모든 센서 디바이스의 센서 설정정보중 Status형과 Value형의 공통 속성에 대하여 동일하게 설정정보를 변경하기 위한 API이다.

방송 URL(broad_url)을 사용하는 그룹 센서 설정정보 변경 요청은 방송(broadcast) 메시지로 전송되어 다수의 메시지 수신자로부터 다수의 응답 메시지를 발생시킬 수 있다. 이런 경우 요청자는 CoAP 메시지 종류(type)를 비신뢰성 메시지 전송(Non-confirmable)로 선택할 수 있다. 비신뢰성 메시지 전송(Non-confirmable)로 요청하는 경우 설정변경 유무는 조회를 통하여 확인할 수 있다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

NON

0.06 (PATCH)

URI-Path: {broad_url}/groups/{gid}/sensor

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

gid

Uint16

그룹 논리주소

Payload

항목

타입(길이)

C

내용

active

String(6~7)

O

센서의 동작 유무 정보

opmode

String(3~10)

O

센서 이벤트 발생시 동작 모드

mperiod

Uint16

O

센서 측정 주기

rperiod

Uint16

O

센서 상태정보 보고 주기

Payload

Example

active=enable;

opmode=notify;

mperiod=100

 

비고

 

                 
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

active

String(6~7)

CM

센서의 동작 유무 정보

opmode

String(3~10)

CM

센서 이벤트 발생시 동작 모드

mperiod

Uint16

CM

센서 측정 주기

rperiod

Uint16

CM

센서 상태정보 보고 주기

Payload

Example

did=32;

active=enable;

opmode=notify;

mperiod=100

 

비고

 

               
 

2.7.8.2 특정 센서종류의 그룹 센서 설정정보 변경

게이트웨이, UD1, TS1 등이 그룹에 포함된 모든 그룹의 전체 멤버중에서 동일한 센서종류의 센서 디바이스에 대하여 설정정보를 동일하게 변경하기 위해 사용하는 API이다.

특정 센서종류의 설정정보 속성들은 동일하므로 모든 변경가능한 설정정보를 포함한다.

방송 URL(broad_url)을 사용하는 그룹 센서 설정정보 변경 요청은 방송(broadcast) 메시지로 전송되어 다수의 메시지 수신자로부터 다수의 응답 메시지를 발생시킬 수 있다. 이런 경우 요청자는 CoAP 메시지 종류(type)를 비신뢰성 메시지 전송(Non-confirmable)로 선택할 수 있다. 비신뢰성 메시지 전송(Non-confirmable)로 요청하는 경우 설정변경 유무는 조회를 통하여 확인할 수 있다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

NON

0.06 (PATCH)

URI-Path: {broad_url}/groups/{gid}/sensor?mtype={mtype}

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

gid

Uint16

그룹 논리주소

Payload

항목

타입(길이)

C

내용

active

String(6~7)

O

센서의 동작 유무 정보

opmode

String(3~10)

O

센서 이벤트 발생시 동작 모드

mperiod

Uint16

O

센서 측정 주기

rperiod

Uint16

O

센서 상태정보 보고 주기

control_list

Object Array

O

이벤트 발생 시 제어 정보

{control attributes}

-

-

이벤트 발생 시 제어 정보 하위 속성

{특수 속성}

{자체 정의}

O

센서 종류에 따른 고유 속성

Payload

Example

URI-Path: {broad_url}/groups/4/sensor?mtype=5

rperiod=300;

그룹내 모든 인지센서의 보고주기 변경

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

active

String(6~7)

CM

센서의 동작 유무 정보

opmode

String(3~10)

CM

센서 이벤트 발생시 동작 모드

mperiod

Uint16

CM

센서 측정 주기

rperiod

Uint16

CM

센서 상태정보 보고 주기

control_list

Object Array

CM

이벤트 발생 시 제어 정보

{control attributes}

-

CM

이벤트 발생 시 제어 정보 하위 속성

{특수 속성}

{자체 정의}

CM

센서 종류에 따른 고유 속성

Payload

Example

did=32;

rperiod=300

 

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

 

 

2.7.9 그룹 삭제

조명/센서 디바이스에 등록된 그룹 정보 삭제를 요청하는 API이다.

조명/센서 디바이스의 그룹 정보 삭제 요청은 그룹 멤버중 특정 조명/센서 디바이스가 그룹의 멤에서 삭제되는 개별 멤버 삭제와 해당 그룹의 정보 전체가 삭제되어 그룹의 모든 멤버 디바이스에 그룹 정보 삭제 요청을 전송하는 전체 멤버 삭제에 사용할 수 있다. 개별 멤버 삭제의 경우에는 해당 디바이스에만 그룹 삭제 요청을 할 수 있도록 Base URL(base_url)을 사용하여야 하며, 전체 멤버 삭제의 경우에는 Broadcast URL(broad_url)을 사용할 수 있다.

2.7.9.1 개별 그룹 삭제

특정 그룹 논리주소를 지정하여 요청함으로써 조명/센서 디바이스에 저장된 특정 그룹 정보를 삭제하는 경우에 사용한다.

방송 URL(broad_url)을 사용한 그룹 삭제 요청은 방송(broadcast) 메시지로 전송되어 다수의 메시지 수신자로부터 다수의 응답 메시지를 발생시킬 수 있다. 이런 경우 요청자는 CoAP 메시지 종류(type)를 비신뢰성 메시지 전송(Non-confirmable)로 선택할 수 있다. 비신뢰성 메시지 전송(Non-confirmable)로 요청하는 경우 삭제 유무는 조회를 통하여 확인할 수 있다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

NON

0.04 (DELETE)

URI-Path: {base_url}/groups/{gid} (개별 멤버 삭제)

URI-Path: {broad_url}/groups/{gid} (전체 멤버 삭제)

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

gid

Uint16

그룹 논리주소

Example 1

Option: {base_url}/groups/40

(개별 멤버 삭제) 해당 디바이스에 그룹 정보중 gid=40 삭제 요청

Example 2

Option: {braod_url}/groups/4

(전체 멤버 삭제) 그룹의 모든 멤버에 그룹 정보중 gid=4 삭제 요청

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.02 (Deleted)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

gid

Uint16(5)

O

그룹 논리주소

Payload

Example 1

did=32;

gid=40

gid=40 삭제 확인

Payload

Example 2

did=32;

gid=4

gid=4 삭제 확인

비고

전체 멤버 삭제를 수신한 디바이스는 그룹 삭제후 모두 응답하여야 함

 

 

2.7.9.2 전체 그룹 삭제

그룹 논리주소에 모든 그룹을 나타내는 그룹 논리주소인 65535를 사용하여 디바이스에 등록된 모든 그룹 정보를 삭제하는 경우에 사용한다.

전체 디바이스의 그룹 전체 삭제의 경우 본 메시지를 수신한 모든 디바이스는 모든 그룹 정보를 삭제하여야 한다.

방송 URL(broad_url)을 사용한 전체 그룹 삭제 요청은 방송(broadcast) 메시지로 전송되어 다수의 메시지 수신자로부터 다수의 응답 메시지를 발생시킬 수 있다. 이런 경우 요청자는 CoAP 메시지 종류(type)를 비신뢰성 메시지 전송(Non-confirmable)로 선택할 수 있다. 비신뢰성 메시지 전송(Non-confirmable)로 요청하는 경우 삭제 유무는 조회를 통하여 확인할 수 있다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

NON

0.04 (DELETE)

URI-Path: {base_url}/groups/65535 (개별 디바이스의 전체 그룹 삭제)

URI-Path: {broad_url}/groups/65535 (전체 디바이스의 전체 그룹 삭제)

Content-Format: text/plain

Example 1

Option: {base_url}/groups/40

(개별 디바이스의 전체 그룹 삭제) 해당 디바이스의 그룹 정보 전체 삭제 요청

Example 2

Option: {braod_url}/groups/4

(전체 디바이스의 전체 그룹 삭제) 메시지 수신 전체 디바이스의 그룹 정보 전체 삭제 요청

비고

 

           
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.02 (Deleted)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

gid

Uint16(5)

O

그룹 논리주소

Payload

Example 1

did=32;

gid=65535

그룹 정보 전체 삭제 완료 응답

Payload

Example 2

did=32;

gid=65535

그룹 정보 전체 삭제 완료 응답

비고

전체 디바이스의 그룹 전체 삭제를 수신한 디바이스는 그룹 삭제후 모두 응답하여야 함

2.8 장면 API

2.8.1 장면 등록

스마트 조명 디바이스에 장면(scene) 등록을 요청하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.02 (POST)

URI-Path: {base_url}/scenes

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

scid

Uint16

M

장면(Scene) ID

sname

String(var)

O

장면(Scene) 이름

sopt

Uint16

O

장면 유지 시간(s)

gid

Uint16(5)

O

그룹 논리주소

light

Object

CM

조명 상태정보 객체

- 조건: 디바이스 또는 그룹 단위로 등록하는 경우

onoff

String(2~3)

O

조명 on/off 상태

level

Uint8

O

조명 밝기(밝기)

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

light_list

Object Array

CM

조명 상태정보 목록 객체

- 조건: 모듈 단위로 등록하는 경우

mid

Uint8

M

모듈 논리주소

onoff

String(2~3)

O

조명 on/off 상태

level

Uint8

O

조명 밝기(밝기)

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

Payload

Example 1

scid=1;

sname=rest;

light={

onoff=on;

colortemp=6000

}

디바이스를 scid=1에 등록

Payload

Example 2

scid=2;

sname=rest;

mid_list=[2];

light={

onoff=on;

colortemp=6000

}

디바이스의 mid=2을 scid=2에 등록

비고

- 모듈 논리주소 목록(mid_list)과 그룹 논리주소(gid)가 동시에 포함될 수 없음

- 그룹(gid) 논리주소는 디바이스에 등록되어 있이야 함

- light 객체의 하위 속성 중 하나 이상의 항목이 포함되어야 함

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.01 (Created)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

scid

Uint16

M

장면(Scene) ID

sname

String(var)

CM

장면(Scene) 이름

sopt

Uint16

CM

장면 유지 시간(s)

gid

Uint16(5)

CM

그룹 논리주소

light

Object

CM

조명 상태정보 객체

- 조건: 디바이스 또는 그룹 단위로 등록하는 경우

onoff

String(2~3)

CM

조명 on/off 상태

level

Uint8

CM

조명 밝기(밝기)

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

light_list

Object Array

CM

조명 상태정보 목록 객체

- 조건: 모듈 단위로 등록하는 경우

mid

Uint8

M

모듈 논리주소

onoff

String(2~3)

CM

조명 on/off 상태

level

Uint8

CM

조명 밝기(밝기)

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

Payload

Example 1

did=32;

scid=1;

sname=rest;

light={

onoff=on;

level=80;

colortem=6000

}

Did 중복 문제 발생

Payload

Example 2

did=32;

scid=2;

sname=rest;

mid_list=[2,3];

light={

onoff=on;

level=80;

colortem=6000

}

디바이스의 mid=2, 3을 scid=2에 등록

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

- 모듈 논리주소 목록(mid_list)과 그룹 논리주소(gid)가 동시에 포함될 수 없음

- 그룹(gid) 논리주소는 디바이스에 등록되어 있이야 함

- light 객체의 속성 중 하나 이상의 항목이 포함되어야 함

- 장면 유지 시간이 없는 경우 65535(무한 유지)로 설정함

               
 

 

2.8.2 현재 상태 장면 등록

조명 디바이스의 현재 조명 제어 상태를 장면(scene)으로 등록 요청하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.02 (POST)

URI-Path: {base_url}/scenes

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

scid

Uint16

M

장면(Scene) ID

sname

String(var)

O

장면(Scene) 이름

sopt

Uint16

O

장면 유지 시간(s)

mid_list

Uint8 Array

O

모듈 논리주소 목록

gid

Uint16(5)

O

그룹 논리주소

Payload

Example 1

scid=5;

sname=meeting

현재 조명 상태를 장면 5번으로 등록 요청

Payload

Example 2

scid=5;

sname=meeting;

gid=2

현재 조명 상태를 그룹 3번에 장면 5번으로 등록 요청

비고

- 모듈 논리주소 목록(mid_list)과 그룹 논리주소(gid)가 동시에 포함될 수 없음

- 그룹(gid) 논리주소는 디바이스에 등록되어 있이야 함

- 요청받은 장면 논리주소(scid)는 기존에 없어야 함

               
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.01 (Created)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

scid

Uint16

M

장면(Scene) ID

sname

String(var)

CM

장면(Scene) 이름

sopt

Uint16

CM

장면 유지 시간(s)

mid_list

Uint8

CM

모듈 논리주소 목록

gid

Uint16(5)

CM

그룹 논리주소

light

Object

M

조명 상태정보 객체

onoff

String(2~3)

M

조명 on/off 상태

level

Uint8

M

조명 밝기(밝기)

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

Payload

Example 1

did=32;

scid=5;

sname=meeting;

light={

onoff=on;

level=40;

colortemp=4000

 }

디바이스 32번의 응답

(디바이스 32번은) light 속성과 같은 상태로 장면 5번을 등록함

Payload

Example 2

did=32;

scid=5;

sname=meeting;

gid=2;

light={

onoff=on;

level=40;

colortemp=4000

 }

디바이스 32번의 응답

(디바이스 32번은) 그룹 2번으로 light 속성과 같은 상태로 장면 5번을 등록함

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

- 모듈 논리주소 목록(mid_list)과 그룹 논리주소(gid)가 동시에 포함될 수 없음

- 그룹(gid) 논리주소는 디바이스에 등록되어 있이야 함

- 요청받은 장면 논리주소(scid)는 기존에 없어야 함

- 장면 유지 시간이 없는 경우 65535(무한 유지)로 설정함

               
 

 

2.8.3 장면 목록 조회

 

2.8.3.1 장면 전체 목록 조회

조명 디바이스에 등록된 모든 장면(Scene) 정보를 조회하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/scenes

Accept: text/plain

Example

Option: {base_url}/scene

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

scap

Object

M

디바이스의 장면(Scene) 수용능력

nums

Uint8

O

지원 가능한 장면(Scene) 개수

useds

Uint8

O

사용중인 장면(Scene) 개수

scenes

Object

M

장면(Scene) 객체 목록

scid

Uint16

M

장면(Scene) ID

sname

String(var)

O

장면(Scene) 이름

sopt

Uint16

O

장면 유지 시간(s)

mid_list

Uint8 Array

O

모듈 논리주소 목록

gid

Uint16(5)

O

그룹 논리주소

light

Object

M

조명 상태정보 객체

{light attributes}

-

O

조명 상태정보 하위 속성

Payload

Example

did=32;

scap={nums=10;useds=2};

scenes=[

{

scid=1;

sname=rest; mid_list=[1];

light={onoff=on;colortem=6000}

},

{

scid=5;

sname=meeting;

light={onoff=on;level=40;r=250;g=100;b=200}

}

]

 

비고

- 디바이스의 장면(Scene) 수용능력(scap)의 사용중인 장면 개수(useds)와 장면 객체 목록 (scenes)의 항목 수는 동일하여야 함

               
 

 

1.1.3.2 장면 논리주소 목록 조회

조명 디바이스에 등록된 모든 장면의 논리주소 목록을 조회하는 API이다.

                                                                                                

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/scenes?attr=scid

Accept: text/plain

Example

Option: {base_url}/scene?attr=scid

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

scid_list

Uint16 Array

M

디바이스에 등록된 모든 장면의 장면 논리주소 목록

Payload

Example

did=32;

scid_list=[1, 5]

 

비고

 

 

 

2.8.4 장면 수용능력 조회

조명 디바이스의 장면 수용능력을 조회하는 API이다.

장면 수용능력에는 수용 가능한 장면의 개수와 현재 사용중인 장면의 개수 정보가 포함된다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/scenes?attrs=scap

Accept: text/plain

Example

Option: {base_url}/scene?attr=scid

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

scap

Object

M

디바이스의 장면(Scene) 수용능력

nums

Uint8

O

지원 가능한 장면(Scene) 개수

useds

Uint8

O

사용중인 장면(Scene) 개수

Payload

Example

did=32;

scap={

nums=10;

useds=2

}

 

비고

 

 

 

2.8.5 장면 설정정보 조회

조명 디바이스에 등록된 장면 설정정보를 조회하는 API이다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/scenes/{scid}

Accept: text/plain

Header

Parameter

항목

타입(길이)

내용

scid

Uint16

장면 논리주소

Example

Option: {base_url}/scenes/1

 

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

scid

Uint16

M

장면(Scene) ID

sname

String(var)

O

장면(Scene) 이름

sopt

Uint16

O

장면 유지 시간(s)

mid_list

Uint8 Array

O

모듈 논리주소 목록

- gid가 있는 경우 포함되면 안됨

gid

Uint16(5)

CM

그룹 논리주소

- 조건: 디바이스에 등록된 그룹으로 장면의 멤버가 되는 경우

light

Object

M

조명 상태정보 객체

onoff

String(2~3)

O

조명 on/off 상태

level

Uint8

O

조명 밝기(밝기)

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

Payload

Example

did=32;

scid=1;

sname=rest;

mid_list=[1];

light={

onoff=on;

colortem=6000

}

장면번호 1번에는 디바이스 논리주소 13번의 모듈 논리주소 1번이 포함되며, 이름은 “rest”, 조명 상태는 점등 및 상관 색온도 6000

비고

- 모듈 논리주소 목록(mid_list)과 그룹 논리주소(gid)가 동시에 포함될 수 없음

- 그룹(gid) 논리주소는 디바이스에 등록되어 있이야 함

               
 

 

2.8.6 장면 설정정보 변경

조명 디바이스에 장면(scene) 설정정보 변경을 요청하는 API이다.

s

  • Request

Header

Ver

Type

Code

Options

01

CON

0.06 (PATCH)

URI-Path: {base_url}/scenes/{scid}

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

scid

Uint16

장면 논리주소

Payload

항목

타입(길이)

C

내용

sname

String(var)

O

장면(Scene) 이름

sopt

Uint16

O

장면 유지 시간(s)

mid_list

Uint8 Array

O

모듈 논리주소 목록

gid

Uint16(5)

O

그룹 논리주소

light

Object

O

조명 상태정보 객체

onoff

String(2~3)

O

조명 on/off 상태

level

Uint8

O

조명 밝기(밝기)

colortemp

Uint16(4)

O

조명 상관 색온도

r

Uint8

O

조명 색상(R, G, B)의 적색(Red)

g

Uint8

O

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

O

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

O

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

O

조명 색상(HSB)의 색상

sat

Uint8

O

조명 색상(HSB)의 채도

bright

Uint8

O

조명 색상(HSB)의 휘도

Payload

Example

sname=휴게실

 

비고

- 조명 상태정보 객체(light)를 포함하는 경우에는 하나 이상의 하위 속성이 포함되어야 함

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

sname

String(var)

CM

장면(Scene) 이름

mid_list

Uint8 Array

CM

모듈 논리주소 목록

gid

Uint16(5)

CM

그룹 논리주소

light

Object

CM

조명 상태정보 객체

onoff

String(2~3)

CM

조명 on/off 상태

level

Uint8

CM

조명 밝기(밝기)

colortemp

Uint16(4)

CM

조명 상관 색온도

r

Uint8

CM

조명 색상(R, G, B)의 적색(Red)

g

Uint8

CM

조명 색상(R, G, B)의 녹색(Green)

b

Uint8

CM

조명 색상(R, G, B)의 청색(Blue)

x

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 x

y

Float(3,2)

CM

조명 색상(CIE 1931 XY 색좌표)의 y

hue

Uint8

CM

조명 색상(HSB)의 색상

sat

Uint8

CM

조명 색상(HSB)의 채도

bright

Uint8

CM

조명 색상(HSB)의 휘도

Payload

Example

did=32;

sname=휴게실

 

비고

- 응답의 CM 조건: 요청에 포함된 속성은 응답에도 포함되어야 함

 

 

2.8.7 장면 호출

조명 디바이스에 장면(scene)이 수행되도록 호출하는 API이다.

방송 URL(broad_url)을 사용하는 장면 호출 요청은 방송(broadcast) 메시지로 전송되어 다수의 메시지 수신자로부터 다수의 응답 메시지를 발생시킬 수 있다. 이런 경우 요청자는 CoAP 메시지 종류(type)를 비신뢰성 메시지 전송(Non-confirmable)로 선택할 수 있다. 비신뢰성 메시지 전송(Non-confirmable)로 요청하는 경우 호출 유무는 조회를 통하여 확인할 수 있다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

NON

0.01 (POST)

URI-Path: {broad_url}/scenes/{scid}/goto

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

scid

Uint16

장면 논리주소

Payload

항목

타입(길이)

C

내용

sopt

Uint16

O

장면 유지 시간(s)

Payload

Example 1

sopt=0

장면 계속 수행

Payload

Example 2

sopt=600

장면 10분(600초)간 수행후 기존 상태로 복귀

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.04 (Changed)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

sopt

Uint16

O

장면 유지 시간(s)

Payload

Example 1

sopt=65535

장면 계속 유지

Payload

Example 2

sopt=600

장면 10분(600초)간 수행후 기존 상태로 복귀

비고

- 장면 유지 시간의 사용은 메시지의 장면 유지 시간(s)을 우선함

- 장면 유지 시간이 종료되면 호출전 상태로 복귀함

               
 

 

2.8.8 장면 삭제

조명 디바이스에 등록된 장면(Scene)의 삭제를 요청하는 API이다.

조명/센서 디바이스의 장면 정보 삭제 요청은 장면 멤버중 특정 조명/센서 디바이스가 장면의 멤에서 삭제되는 개별 멤버 삭제와 해당 장면의 정보 전체가 삭제되어 장면의 모든 멤버 디바이스에 장면 정보 삭제 요청을 전송하는 전체 멤버 삭제에 사용할 수 있다. 개별 멤버 삭제의 경우에는 해당 디바이스에만 장면 삭제 요청을 할 수 있도록 Base URL(base_url)을 사용하여야 하며, 전체 멤버 삭제의 경우에는 Broadcast URL(broad_url)을 사용할 수 있다.

 

2.8.8.1 개별 장면 삭제

특정 논리주소를 지정하여 요청함으로써 조명/센서 디바이스에 저장된 특정 장면 정보를 삭제하는 경우에 사용한다.

방송 URL(broad_url)을 사용한 개별 장면 삭제 요청은 방송(broadcast) 메시지로 전송되어 다수의 메시지 수신자로부터 다수의 응답 메시지를 발생시킬 수 있다. 이런 경우 요청자는 CoAP 메시지 종류(type)를 비신뢰성 메시지 전송(Non-confirmable)로 선택할 수 있다. 비신뢰성 메시지 전송(Non-confirmable)로 요청하는 경우 삭제 유무는 조회를 통하여 확인할 수 있다.

  • Request

Header

Ver

Type

Code

Options

01

CON

NON

0.04 (DELETE)

URI-Path: {base_url}/scenes/{scid} (개별 멤버 삭제)

URI-Path: {broad_url}/scenes/{scid} (전체 멤버 삭제)

Content-Format: text/plain

Header

Parameter

항목

타입(길이)

내용

scid

Uint16

장면 논리주소

Example 1

Option: {base_url}/scenes/1

(개별 멤버 삭제) 해당 디바이스의 장면 정보중 scid=1 삭제 요청

Example 2

Option: {braod_url}/scenes/4

(전체 멤버 삭제) 장면의 모든 멤버에 장면 정보중 gid=4 삭제 요청

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.02 (Deleted)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

scid

Uint16(1~3)

O

Scene ID

Payload

Example 1

did=32;

scid=1

장면 scid=1 삭제 확인 응답

Payload

Example 2

did=32;

scid=4

장면 scid=4 삭제 확인 응답

비고

전체 멤버 삭제를 수신한 디바이스는 그룹 삭제후 모두 응답하여야 함

 

 

2.8.8.2 전체 장면 삭제

장면 논리주소에 모든 장면을 나타내는 장면 논리주소인 65535를 사용하여 디바이스에 등록된 모든 장면 정보를 삭제하는 경우에 사용한다.

전체 디바이스의 장면 전체 삭제의 경우 본 메시지를 수신한 모든 디바이스는 모든 장면 정보를 삭제하여야 한다.

방송 URL(broad_url)을 사용한 전체 장면 삭제 요청은 방송(broadcast) 메시지로 전송되어 다수의 메시지 수신자로부터 다수의 응답 메시지를 발생시킬 수 있다. 이런 경우 요청자는 CoAP 메시지 종류(type)를 비신뢰성 메시지 전송(Non-confirmable)로 선택할 수 있다. 비신뢰성 메시지 전송(Non-confirmable)로 요청하는 경우 삭제 유무는 조회를 통하여 확인할 수 있다.

  • Request

Header

Ver

Type

Code

Options

01

CON

NON

0.04 (DELETE)

URI-Path: {base_url}/scenes/65535 (개별 디바이스의 전체 장면 삭제)

URI-Path: {broad_url}/scenes/65535 (전체 디바이스의 전체 장면 삭제)

Content-Format: text/plain

Example 1

Option: {base_url}/scenes/65535

(개별 디바이스의 전체 장면 삭제) 해당 디바이스의 장면 정보 전체 삭제 요청

Example 2

Option: {broad_url}/scenes/65535

(전체 디바이스의 전체 장면 삭제) 메시지 수신 전체 디바이스의 장면 정보 전체 삭제 요청

비고

 

           
 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.02 (Deleted)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

scid

Uint16(1~3)

O

Scene ID

Payload

Example 1

did=32;

scid=65535

그룹 정보 전체 삭제 완료 응답

Payload

Example 2

did=32;

scid=65535

그룹 정보 전체 삭제 완료 응답

비고

 

2.9 고장 API

2.9.1 고장정보 조회

게이트웨이, UD1, TS1 등에서 디바이스의 조명 또는 센서의 고장 정보를 조회하는 API이다.

스마트 조명 디바이스는 고장정보 조회 API를 통하여 고장정보를 조회하지 않더라도 고장이 발생하거나 해제되었을 경우 디바이스는 게이트웨이 L-SLP의 고장정보 보고 API를 사용하여 디바이스의 고장정보 변경 사항을 게이트웨이에 보고하여야 한다.

 

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/fault

Accept: text/plain

비고

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

dfault

Uint8

M

디바이스 상태 정보

fslist

Object Array

CM

디바이스 세부 기기장애 정보

- 조건: 디바이스 상태 정보(dfault)가 기기장애(2), 통신불능&기기장애(3)인 경우

mid

Uint8

M

모듈 논리주소

- 모듈 논리주소가 없는 경우: 0

fcode

Hex(8)

M

모듈 장애 코드

Payload

Example 1

did=32;

dfault=2;

fslist=[

{mid=2; fcode=50000000}

]

did=32: 기기장애

mid=2: LED 모듈 오류

Payload

Example 2

did=32;

dfault=2;

fslist=[

{mid=2; fcode=00000001}

]

did=32: 기기장애

mid=2: 알수 없는 오류

Payload

Example 3

did=12;

dfault=0

정상인 경우

비고

- 디바이스의 종류는 기등록된 디바이스 정보 참조

               
3. 코드 정의
3.1 CoAP 코드

3.1 CoAP 코드

RFC 7252 “The Constrained Application Protocol (CoAP)” 표준 및 RFC 8132 “PATCH and FETCH Methods for the Constrained Application Protocol (CoAP)”에 정의된 코드이다.

3.1.1 CoAP method codes

 

Code

Name

지원여부

Code

Name

지원여부

0.01

GET

지원

0.05

FETCH

미지원

0.02

POST

지원

0.06

PATCH

지원

0.03

PUT

지원

0.07

iPATCH

미지원

0.04

DELETE

지원

 

 

 

 

 

3.1.2 CoAP response codes

 

Code

Description

지원여부

2.01

Created

지원

2.02

Deleted

지원

2.03

Valid

 

2.04

Changed

지원

2.05

Content

지원

4.00

Bad Request

 

4.01

Unauthorized

 

4.02

Bad Option

 

4.03

Forbidden

 

4.04

Not Found

 

4.05

Method Not Allowed

 

4.06

Not Acceptable

 

4.12

Precondition Failed

 

4.13

Request Entity Too Large

 

4.15

Unsupported Content-Format

 

5.00

Internal Server Error

 

5.01

Not Implemented

 

5.02

Bad Gateway

 

5.03

Service Unavailable

 

5.04

Gateway Timeout

 

5.05

Proxying Not Supported

 

 

 

스마트 조명 조명/센서 L-SLP 규격에서는 RFP 7252 및 RFP 8132에서 정의한 메소드별 응답 코드중 지원하는 응답 코드는 아래와 같다.

 

GET 응답
 
처리에 성공한 경우 2.05 (Content)
 
POST 응답
 
새로운 리소스 생성 요청 처리에 성공한 경우 2.01(Created) 응답
 
처리는 성공하였으나 새로운 리소스가 생성되지는 않은 경우 2.04(Changed) 응답
 
PUT/PATCH 응답
 
리소스 수정에 성공한 경우 2.04(Changed) 응답
 
DELETE 응답
 
삭제 요청 처리는 성공한 경우 2.02(Deleted) 응답
 
스마트 조명 조명/센서 L-SLP 규격에서 지원하지 않는 RFP 7252 및 RFP 8132에서 정의한 메소드별 응답 코드는 아래와 같다. 
 
GET 응답
 
처리에 성공한 경우의 2.03 (Valid) 응답
 
- 모든 응답에는 Content를 포함하여야 한다.
 
POST 응답
 
처리는 성공하였으나 리소스가 삭제되는 경우 2.02(Deleted) 응답
 
- POST에 의해서 리소스가 삭제되는 경우가 발생할 수 있는 스마트 조명 API는 없다.
 
PUT/PATCH 응답
 
요청 처리의 결과로 새로운 리소스가 생성되는 경우 2.01(Created) 응답
 
- PUT/PATCH에 의해서 리소스가 생성되는 경우가 발생할 수 있는 스마트 조명 API는 없다.
3.2 API 에러 코드 정의

3.2 API 에러 코드 정의

3.2.1 L-SLP 에러 코드 형식

L-SLP 에러 코드는 응답메시지의 Payload에 아래 속성으로 제공한다.

 

Payload

항목

타입(길이)

C

내용

error

Uint16(5)

M

L-SLP 에러 코드

 

 

L-SLP 에러 코드의 형식은 다음과 같다.

  • XYYZZ: X(CoAP Response code 상위 분류), YY(CoAP Response code 하위 분류), ZZ(서브시스템 개별)

 

3.2.2 L-SLP API 에러 코드

Error Code

Error Message

2YYZZ

Success

20000

Success

4YYZZ

Client Error

400ZZ

Bad Request

40000

해당하는 attribute 없음 (Unsupported attribute)

40001

attribute 값의 형식 오류 (Invalid attribute type)

40002

attribute 값의 범위를 벗어남 (Invalid attribute value)

40003

해당하는 DID가 없음 (Invalid Device ID)

40004

해당하는 GID가 없음 (Invalid Group ID)

40005

해당하는 SCID가 없음 (Invalid Scene ID)

40006

테이블에 동일한 엔트리 있음 (duplicate exists)

40050

Message ID 오류 (Unsupported msg ID)

40051

Command ID 오류 (Unsupported cmd ID)

40052

Checksum 오류 (Invalid checksum)

40053

Header 또는 payload filed 오류

401ZZ

Unauthorized

40100

제어할 수 없는 디바이스 (Unauthorized device)

402ZZ

Bad Option

40200

해당하는 URI 없음 (URI bad option)

403ZZ

Forbidden

40301

읽기전용 attribute (Read only attribute)

40302

쓰기전용 attribute (Write only attribute)

40303

읽기 및 report attribute (Read or Reportable attribute)

40304

Unreportable attribute

404ZZ

Not found

40400

테이블에서 찾지 못함 (Not found)

405ZZ

Method Not Allowed

40500

 

406ZZ

No Acceptable

40600

 

412ZZ

Precondition Failed

41200

 

413ZZ

Request Entity Too Large

41300

응답 데이터가 너무 큼

415ZZ

Unsupported Content-Format

41500

지원하지 않는 컨텐트 포맷

5YYZZ

Server Error

500ZZ

Internal Server Error

50000

내부 동작중 에러

50001

메모리 또는 테이블 스페이스 부족

501ZZ

Not Implemented

50100

구현되지 않은 리소스

50101

구현되지 않은 URI

502ZZ

Bad Gateway

503ZZ

Service Unavailable

504ZZ

Gateway Timeout

505ZZ

Proxying Not Supported

 

3.2.3 에러 예제

3.2.3.1 Attribute 속성 값 에러

 

  • Request

Header

Ver

Type

Code

Options

01

CON

NON

0.02 (POST)

URI-Path: {broad_url}/light

Content-Format: text/plain

Example

 

did={g_did};

colortemp=10000;  // colortemp 속성의 값 범위(3000~6000)를 벗어난 값

 

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

4.00

(Bad Request)

Content-Format: text/plain

Example 1

 

error=40002;

 

 
4. 메시지 예제
4.1 필터

4.1 필터

4.1.1 모듈 기본정보 조회 속성 필터링

2.4.9 디바이스 전체 모듈 기본정보 목록 조회 API에서 모듈 기본정보에 포함된 속성들을 이용하여 필터를 사용하면 특정 모듈만 목록 조회가 가능하다. 필터의 {attr}에는 모듈 기본정보(minfo)의 항목중 하나가 들어갈 수 있다.

 

  • Request 형식

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/module/minfo?{attr}={value}

Content-Format: text/plain

 

 

1) 예제 : 조명 모듈 조회

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/module/minfo?mclass=l

Content-Format: text/plain

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

minfo_list

Object Array

O

모듈 기본정보 목록

mid

Uint8

M

모듈 논리주소

mclass

String(1)

M

모듈 종류

mtype

Uint8

M

모듈 종류(mclass)에 따른 세부 종류

form

String(2)

M

모듈 장착 방식

Payload

Example

did=32;

minfo_list=[

{ mid=2; mclass=l; mtype=0; form=in }

]

조명 모듈 목록 조회 요청에 대한 응답

 

비고

-

               
 

 

2) 예제 : 온도 센서 모듈 목록 조회

  • Request

Header

Ver

Type

Code

Options

01

CON

0.01 (GET)

URI-Path: {base_url}/module/minfo?mclass=s&mtype=1

Content-Format: text/plain

 

 

  • Response

Header

Ver

Type

Code

Options

01

ACK

2.05 (Content)

Content-Format: text/plain

Payload

항목

타입(길이)

C

내용

did

Uint16

M

디바이스 논리주소

minfo_list

Object Array

O

모듈 기본정보 목록

mid

Uint8

M

모듈 논리주소

mclass

String(1)

M

모듈 종류

mtype

Uint8

M

모듈 종류(mclass)에 따른 세부 종류

form

String(2)

M

모듈 장착 방식

Payload

Example 1

did=32;

minfo_list=[ ]

온도 센서 모듈 목록 조회 요청에 해당 모듈이 없는 경우 응답

Payload

Example 2

did=32

온도 센서 모듈 목록 조회 요청에 해당 모듈이 없는 경우 응답

비고

-