Nest가 사용자의 패턴을 학습한다고는 하지만, 100% 만족할 수는 없을 것이다. 또한 필요에 의해 수동으로 조작을 해야할 수 있을 것이다.
컨트롤러를 직접 조작하는 것 외에 Nest 전용 앱을 이용해 컨트롤 할 수 있지만 이미 사용하고 있는 플랫폼에 연동될 수 있도록 하는 것이 중요하다.

Smartthings에는 NST Manager를 이용해 연동하고, HomeKit에는 homebridge-nest를 이용해 연동할 수 있다.

본인의 Nest와 연동하기 위해서 Nest Developers에서 개발자 계정을 생성하고 oAuth 연동이 가능하도록 앱을 만들어야 한다.

Smartthings에는 SmartApp 형태로 연동이 가능하다. 그러기 위해서는 Github과 연동하여 SmartApp소스와 DeviceTypeHandler를 설치하면된다. NST Manager

ST 그래프 사이트에서 SmartApp의 설정에 Client ID와 Secret을 설정해주고 Classic 앱에서 스마트 앱을 추가해주면 된다. 추가하면서 Nest 계정에 로그인을 하게 되고, 설치한 Nest와 연동된다.

Smartthings의 Nest

Homebridge는 플러그인을 추가하면 accessory로 등록이 가능하다. 놀라운 것은 homebridge 플러그인의 만듬새가 매우 좋다는 점이었다. homebridge-nest

Homebridge 플러그인을 설치하고 config.json 파일에 accessory노드에 설정값을 추가해주면 되는데, 역시 Client ID와 Secret을 추가한다.
그리고 Nest 개발자 페이지의 Authorization URL으로 이동하여, ST와 연동과정 중 Classic 앱에서 로그인했던 것처럼 웹페이지에서 로그인하면 8자리의 영문자 숫자조합의 PIN 코드가 나온다. 이 코드 역시 config.json에 추가한다.
그리고 homebridge를 한 번 실행해서 로그 중에 token을 기록해둔다. 그 token을 다시 config.json에 추가해주고 homebridge를 재실행하면 된다.

Home의 Nest

homebridge에는 Thermostat, Fan, 재실 센서, Eco 모드 스위치가 같이 추가된다. 이 가운데 추가하기 싫은 악세서리는 disable에 추가하면 된다. 값은 Thermostat.Fan, Thermostat.Home, Thermostat.Eco이다.

{
    "platform": "Nest",
    "clientId": "11aa11aa-ee11-aa11-bb22-cc33ccc3c4cc",
    "clientSecret": "clIEnTSecR3TCLientSECr3t3",
    "code": "PINCODE1",
    "disable": ["Thermostat.Fan"],
    "token": "c.adC4cJjnHgp4Wk7nj7xhMc646v3O7E87MP2268z5nQZn5A3sG0rVGZkrcFFREKh3yfIEIhPUIypBAVZ9y2bJgwxGhIl0G3V9EDUpQrR92DIQaiSSNgCWkUSK4ZgOs3a9VfC9eXpyCtZB8gza"
}

자세한 설치 과정은 생략하고 사용기 역시 추운 한 겨울이 된 뒤에나 올릴 수 있을 것 같다.