

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 관리형 통합 데이터 모델
<a name="managedintegrations-data-model"></a>

관리형 통합 데이터 모델은 최종 사용자와 관리형 통합 간의 모든 통신을 관리합니다.

**디바이스 계층 구조**

`endpoint` 및 `capability` 데이터 요소는 관리형 통합 데이터 모델의 디바이스를 설명하는 데 사용됩니다.

**`endpoint`**

는 기능에서 제공하는 논리적 인터페이스 또는 서비스를 `endpoint` 나타냅니다.

```
{
    "endpointId": { "type":"string" },
    "capabilities": Capability[]
}
```

**`Capability`**

는 디바이스 기능을 `capability` 나타냅니다.

```
{
    "$id": "string",                // Schema identifier (e.g. /schema-versions/capability/matter.OnOff@1.4)
    "name": "string",               // Human readable name
    "version": "string",            // e.g. 1.0  
    "properties": Property[],
    "actions": Action[],
    "events": Event[]
}
```

`capability` 데이터 요소의 경우 해당 항목을 구성하는 세 가지 항목인 `property`, 및 `action`가 있습니다`event`. 디바이스와 상호 작용하고 모니터링하는 데 사용할 수 있습니다.
+ **속성**: 조광 가능한 조명의 현재 밝기 수준 속성과 같이 디바이스가 보유한 상태입니다.
  + 

    ```
    {
        "name":                      // Property Name is outside of Property Entity
        "value": Value,              // value represented in any type e.g. 4, "A", []
        "lastChangedAt": Timestamp   // ISO 8601 Timestamp upto milliseconds yyyy-MM-ddTHH:mm:ss.ssssssZ
        "mutable": boolean,
        "retrievable": boolean,
        "reportable": boolean
        
    }
    ```
+ **작업**: 문 잠금 시 문 잠금과 같이 수행할 수 있는 작업입니다. 작업은 응답과 결과를 생성할 수 있습니다.
  + 

    ```
    { 
        "name": { "$ref": "/schema-versions/definition/aws.name@1.0" }, //required 
        "parameters": Map<String name, JSONNode value>, 
        "responseCode": HTTPResponseCode,
        "errors": { 
            "code": "string",
            "message": "string"
        }
    }
    ```
+ **이벤트**: 기본적으로 과거 상태 전환에 대한 레코드입니다. 는 현재 상태를 `property` 나타내지만 이벤트는 과거의 저널이며 단조롭게 증가하는 카운터, 타임스탬프 및 우선 순위를 포함합니다. 이를 통해 상태 전환을 캡처할 수 있을 뿐만 아니라 로 쉽게 달성할 수 없는 데이터 모델링도 가능합니다`property`.
  + 

    ```
    {
        "name": { "$ref": "/schema-versions/definition/aws.name@1.0" },        //required
        "parameters": Map<String name, JSONNode value> 
    }
    ```