Home Assistant는 이미 당신의 기기들과 통신하고 있습니다. 그렇다면 DoSync는 무엇을 더해줄 수 있을까요?
요약
Home Assistant(HA)의 명령 기반 제어 방식과 차별화되는 DoSync 프로젝트를 소개합니다. DoSync는 단순 명령을 넘어 사용자의 '의도(Intent)'를 해석하고, 모든 동작을 SHA-256 기반의 감사 로그로 기록하는 상위 계층의 프로토콜 역할을 수행합니다.
핵심 포인트
- HA는 기기 통합과 명령 실행에 탁월하지만, 의사결정 지능은 별도로 필요함
- DoSync는 명령(Command)이 아닌 의미론적 의도(Semantic Intent)를 처리함
- 모든 동작은 위변조 방지가 가능한 SHA-256 해시 체인 감사 로그에 기록됨
- 기기 추가 시 자동 참여가 가능하여 기존 자동화 재작성 부담을 줄임
만약 당신이 Home Assistant를 운영하고 있다면, 스마트 홈에서 가장 어려운 문제인 '3,000가지 종류의 기기와 통신하는 문제'를 이미 해결한 셈입니다. 조명, 잠금장치, 센서, 진공청소기, 그리고 이제는 존재하지 않는 브랜드의 생소한 Zigbee 기기들까지 — HA는 이 모든 것과 대화합니다. 그리고 2025년부터는 MCP (Model Context Protocol) 서버를 함께 제공하므로, AI 어시스턴트가 이미 그 기기들에 접근하여 제어할 수 있습니다.
따라서 DoSync와 같이 AI와 물리적 기기 사이의 프로토콜이라고 스스로를 설명하는 프로젝트가 등장했을 때, HA 커뮤니티의 누구라도 던질 법한 합당한 질문은 다음과 같습니다: "그게 왜 필요하죠? 저는 이미 HA가 있고, 이제 AI는 HA와 직접 대화할 수 있는데요."
그것은 올바른 질문이며, 저는 이에 대해 솔직하게 답하고자 합니다. 답변이 "아마 필요 없을 것입니다"가 되는 부분까지 포함해서 말이죠.
Home Assistant란 정확히 무엇인가
HA는 세 가지 역할을 수행합니다: 기기 통합, 자동화 실행, 그리고 UI 제공입니다. 여기서 중요한 것은 첫 번째 역할이며, 이는 진정으로 탁월합니다. HA는 현존하는 가장 풍부한 기기 통합 계층 (device-integration layer)입니다. 그 어떤 것도 이를 대체하려 해서는 안 되며, DoSync 또한 그렇지 않습니다. DoSync는 이미 레포지토리(repo)에 포함된 브릿지를 통해 HA로부터 기기 정보를 읽어옵니다.
하지만 HA의 밑바탕에 깔린 모델이 무엇인지 주목하십시오: 그것은 여전히 명령 (commands)입니다. "Turn on light.living_room." "Set climate.bedroom to 21." HA MCP 서버는 이러한 동일한 명령들을 AI에게 노출합니다. 무엇을 해야 하는지에 대한 지능 — 비상 상황이 발생했을 때, 아무도 집에 없을 때, 센서가 이상한 값을 읽었을 때 무엇이 일어나야 하는지에 대한 지능 — 은 당신이 미리 작성한 자동화(automation)에 들어있거나, 명령을 보내는 AI에 들어있습니다. HA는 실행할 뿐, 결정하지 않습니다.
이것은 비판이 아닙니다. 단지 HA가 작동하는 계층이 그러할 뿐입니다: HA는 기기들을 집합시키고, 그것들을 명령할 수 있는 통일된 방법을 제공합니다.
다른 계층이 위치할 수 있는 곳
DoSync는 한 단계 위 계층에서 작동하며, 단 한 가지 일만 수행합니다. 바로 의미론적 의도 (semantic intent)를 조정되고 감사 가능한 (auditable) 일련의 동작들로 변환하는 것입니다.
사용자는 "이 조명 10개를 켜고, 저 문을 열고, 이 SMS를 보내줘"라고 말하지 않습니다. 대신 목표(예: ensure_safety, away_mode)를 표현합니다. 그러면 리졸버 (resolver)가 각 기기가 선언한 기능을 바탕으로 어떤 기기가 관련 있는지 결정하고, 동작을 실행하며, 그 모든 동작을 위변조 방지 기능이 있는 SHA-256 감사 로그 (audit log)에 기록합니다. 기기는 HA로부터 올 수도 있고, 직접적인 어댑터 (UDP를 통한 WiZ, Pi의 GPIO, BLE, MQTT)로부터 올 수도 있습니다. HA는 "신체 (bodies)" 중 하나의 소스일 뿐, 중심이 아닙니다.
HA MCP를 통해 명령을 보내는 것과 차별화되는 세 가지 요소는 다음과 같습니다:
-
명령이 아닌 의도 (Intents). AI는 달성하고자 하는 바를 말하고, 리졸버는 선언된 기기 기능으로부터 나머지 과정을 도출합니다. 기기를 추가하면 자동으로 참여하게 되며, 자동화 (automation)를 다시 작성할 필요가 없습니다.
-
책임 소재를 위해 구축된 감사 로그 (audit log). 모든 동작과 그것이 실행된 이유는 SHA-256 해시 체인 (hash chain)에 기록됩니다. 각 항목에는 이전 항목의 해시가 포함되어 있어, 과거 항목을 수정하거나 삭제하면 체인이 깨지며 검증 시 탐지할 수 있습니다. 이것이 정확히 무엇을 제공하는지 설명하자면, 이는 사후에 탐지되지 않은 채 이력이 수정되는 것을 방지하는 것이지, 허브의 루트 (root) 권한을 가진 공격자(체인 전체를 다시 쓸 수 있는 사람)를 막는 것은 아닙니다. HA의 레코더 (recorder)와 로그북 (logbook)은 검색 가능한 이력을 제공하여 "무슨 일이 일어났는가"를 파악하는 데 매우 유용합니다. 반면 해시 체인은 "그리고 그것이 변경되지 않았음을 증명할 수 있다"는 점을 더해줍니다. 이는 감사관, 보험사 또는 사고 조사 시 신뢰할 수 있는 기록이 필요할 때는 매우 중요하지만, 일상적인 자동화에서는 전혀 중요하지 않습니다.
-
단일 계약 하의 다중 소스. DoSync는 정책과 인증을 갖춘 단일 의미론적 모델 (semantic model) 아래에서 HA 및 기타 어댑터의 기기들을 조정합니다. HA는 여러 소스 중 특히 풍부한 소스 중 하나입니다.
그리고 대부분의 프로젝트가 말하지 않는 부분은 이렇습니다
사람들이 Home Assistant (HA)를 사용하는 대다수의 경우 — "집에 도착하면 현관등을 켜줘", "밤에는 온도 조절기를 낮춰줘" — DoSync는 필요하지 않습니다. HA 자체의 자동화 (automations)와 MCP 서버가 그 기능을 완전히 커버합니다. 여기에 조정 계층 (coordination layer)을 추가하는 것은 아무런 이득 없이 인프라만 추가하는 꼴이 됩니다.
DoSync는 다음 두 가지 조건이 동시에 충족될 때만 그 가치를 발휘합니다: 조정 (coordination)이 중요할 때 (하나의 목표가 여러 장치에 걸쳐 신뢰성 있게, 때로는 비상 상황에서 확산되어야 할 때) 그리고 추적 가능성 (traceability)이 중요할 때 (무엇이 왜 작동했는지에 대한 감사 가능한 기록이 필요할 때).
구체적인 가정 내 사례를 들어보겠습니다: 홀로 사는 노부모님을 위해 낙상 대응 설정을 구축했다고 가정해 봅시다. 센서가 작동하면 집은 구급대원을 위해 문을 열고, 모든 조명을 최대 밝기로 켜며, 가족에게 메시지를 동시에 보내야 합니다. 그리고 나중에 정확히 무엇이 언제 작동했는지 말할 수 있어야 합니다. 이것이 바로 공장이 아닌 일반 가정에서의 조정 (coordination)과 추적 가능성 (traceability)의 결합입니다. HA가 일상적으로 수행하는 대부분의 작업과 같은 사례에서는 추가적인 계층이 아무런 이득을 주지 못합니다.
만약 귀하의 상황이 이와 다르다면, 그대로 HA를 사용하며 즐기시면 됩니다. 이는 제가 겸손하게 말하는 것이 아니라, 귀하가 사용하지 않을 계층을 판매하고 싶지 않기 때문입니다.
그들이 실제로 결합되는 방식
솔직한 그림은 DoSync 대 Home Assistant의 대결 구도가 아닙니다. 그것은 DoSync가 Home Assistant를 사용하는 것입니다. 즉, HA를 장치를 소싱하는 가장 좋은 장소 중 하나로 취급하면서, 조정이 필요한 좁은 범위의 사례들을 위해 그 위에 의미론적이고 감사 가능한 조정 계층 (semantic, auditable coordination layer)을 추가하는 것입니다. HA는 자신의 통합 (integrations) 권한을 계속 유지합니다. 연결된 AI는 지능이 머물러야 할 곳, 즉 의도 (intent)를 표현하는 외부 영역에 머뭅니다. DoSync는 그 사이의 신경계 (nervous system)일 뿐입니다.
만약 귀하가 그 좁은 범위의 사례에 해당한다면, 살펴볼 가치가 있습니다. 그렇지 않다면 이미 필요한 것을 가지고 계신 것입니다. 만약 귀하가 선의 어느 쪽에 있는지 진심으로 확신이 서지 않는다면, 귀하의 설정을 설명하는 이슈 (issue)를 열어주세요. 그것이 수고를 들일 가치가 있는지 솔직하게 말씀드리겠습니다.
GitHub: https://github.com/giulianireg-spec/dosync-protocol
Web: https://dosync.dev/
License: Apache 2.0
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기