이 문서에는 스마트 홈 기기에서 공식적으로 지원되는 오류와 예외가 나열되어 있습니다. 이러한 오류 및 예외 코드를 인텐트 응답 또는 알림(구현한 경우)에 사용하여 Google 어시스턴트가 특정 명령어 또는 기기 상태와 관련된 문제를 최종 사용자에게 알리도록 하세요. 대답에 잘못된 형식이나 errorCode
이 포함되어 있으면 Google 어시스턴트에서 사용자에게 일반적인 오류 메시지(예: '죄송합니다. 지금은 기기를 사용할 수 없습니다')를 표시합니다.
오류
문제로 인해 실행 또는 쿼리 요청이 실패하면 오류 코드를 반환해야 합니다. 예를 들어 도어락이 걸려 잠기거나 잠금 해제할 수 없는 경우 이 상태에 관한 오류가 사용자에게 반환되어야 합니다.
오류 코드는 기기 수준 또는 전역 수준에서 연결할 수 있습니다. 예를 들어 사용자가 한 제공업체의 조명을 많이 보유하고 있고 허브로 제어되는 경우 사용자가 모든 조명을 꺼 달라고 요청하면 하나의 조명이 오프라인 상태인 경우 제공업체는 기기 수준 오류를 반환할 수 있고, 전체 허브가 오프라인 상태이고 제어할 수 있는 조명이 없는 경우 전역 수준 오류를 반환할 수 있습니다. 모든 기기가 오프라인 상태인 경우 전역 수준 오류와 기기 수준 오류를 사용하는 데 차이가 없습니다.
요약:
- 전역 수준 오류: 응답의 모든 기기에 동일한 오류가 있음
- 지역 수준 오류: 오류 및 성공 사례가 혼합된 응답
전역 수준 오류
다음 JSON 스니펫은 QUERY 또는 EXECUTE 응답에서 전역 수준 오류를 반환하는 방법을 보여줍니다.
허브가 오프라인 상태여서 발생하는 전역 수준 오류 deviceOffline
의 예는 다음과 같습니다.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "errorCode": "deviceOffline", "status" : "ERROR" } }
허브가 업데이트되어 발생하는 전역 수준 오류 inSoftwareUpdate
의 예는 다음과 같습니다.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "errorCode": "inSoftwareUpdate", "status" : "ERROR" } }
기기 수준 오류
QUERY 응답
다음 JSON 스니펫은 QUERY 응답에서 기기 수준 오류를 반환하는 방법을 보여줍니다.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "devices": { "device-id-1": { "errorCode": "deviceOffline", "status" : "ERROR" }, "device-id-2": { "errorCode": "deviceOffline", "status" : "ERROR" } } } }
실행 응답
다음 JSON 스니펫은 실행 응답에서 기기 수준 오류를 반환하는 방법을 보여줍니다.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "device-id-1" ], "status": "ERROR", "errorCode": "deviceOffline" }, { "ids": [ "device-id-2" ], "status": "SUCCESS", "states": { "on": true, "online": true } } ] } }
오류가 있는 알림
사전 알림
다음 JSON 스니펫은 사전 알림에서 기기 수준 오류를 보고하는 방법을 보여줍니다.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "agentUserId": "agent-user-id-1", "eventId": "unique-event-id-1", "payload": { "devices": { "notifications": { "device-id-1": { "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceDoorOpen" } } } } } }
후속 응답
다음 JSON 스니펫은 후속 응답에서 기기 수준 오류를 보고하는 방법을 보여줍니다.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "agentUserId": "agent-user-id-1", "eventId": "unique-event-id-1", "payload": { "devices": { "notifications": { "device-id-1": { "LockUnlock": { "priority": 0, "followUpResponse": { "status": "FAILURE", "errorCode": "deviceJammingDetected", "followUpToken": "PLACEHOLDER" } } } } } } }
오류 목록
다음 오류가 발생하면 기기에서 연결된 TTS가 생성됩니다.
- aboveMaximumLightEffectsDuration : 최대 지속 시간인 1시간을 초과합니다. 다시 시도해 주세요.
- aboveMaximumTimerDuration : <기기>를 최대 <기간>까지 설정할 수 있습니다.
- actionNotAvailable : 죄송합니다. 지금은 요청하신 작업을 할 수 없습니다.
- actionUnavailableWhileRunning : 현재 <기기>가 작동 중이라서 변경할 수 없습니다.
- alreadyArmed : <device(s)> <is/are> already armed.
- alreadyAtMax : <device(s)>이(가) 이미 최고 온도로 설정되어 있습니다.
- alreadyAtMin : <device(s)>이(가) 이미 최저 온도로 설정되어 있습니다.
- alreadyClosed : <device(s)> <is/are> already closed.
- alreadyDisarmed : <device(s)> <is/are> already disarmed.
- alreadyDocked : <device(s)> <is/are> already docked.
- alreadyInState : <device(s)> <is/are> already in that state.
- alreadyLocked : <device(s)> <is/are> already locked.
- alreadyOff : <device(s)> <is/are> already off.
- alreadyOn : <device(s)> <is/are> already on.
- alreadyOpen : <device(s)> <is/are> already open.
- alreadyPaused : <device(s)>이(가) 이미 일시중지되었습니다.
- alreadyStarted : <device(s)> <is/are> already started.
- alreadyStopped : <device(s)> <is/are> already stopped.
- alreadyUnlocked : <device(s)> <is/are> already unlocked.
- ambiguousZoneName : 죄송합니다. <device(s)>에서 어떤 공간을 말씀하신 건지 인식하지 못했습니다. 공간마다 고유한 이름을 지정하신 후 다시 시도해 주세요.
- amountAboveLimit : <device(s)>에서 지원하는 양보다 많습니다.
- appLaunchFailed : 죄송합니다. <device(s)>에서 <app name>을 실행하지 못했습니다.
- armFailure : <device(s)> couldn't be armed.
- armLevelNeeded : <device(s)>를 어떤 수준으로 설정해야 할지 잘 모르겠습니다. "Set <device(s)> to <low security>(<기기>를 <낮은 보안>으로 설정해 줘)" 또는 "Set <device(s)> to <high security>(<기기>를 <높은 보안>으로 설정해 줘)"라고 말해 보세요.
- authFailure : <device(s)>에 연결할 수 없는 것 같습니다. 앱에서 <device/devices> 설정이 완료되었는지 확인하세요.
- bagFull : <device(s)> <has/have> <a full bag/full bags>. Please empty <it/them> and try again.
- belowMinimumLightEffectsDuration : 말씀하신 시간이 지원되는 최솟값인 5분 미만입니다. 다시 시도해 주세요.
- belowMinimumTimerDuration : <device(s)>를 말씀하신 시간만큼 짧게 설정할 수 없습니다. 다시 시도해 주세요.
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- cancelArmingRestricted : 죄송합니다. <device(s)>의 무장 해제를 취소할 수 없습니다.
- cancelTooLate : 죄송합니다. 지금은 취소할 수 없습니다. 대신 <기기> 또는 앱을 사용하세요.
- channelSwitchFailed : 죄송합니다. <channel name> 채널을 틀지 못했습니다. 나중에 다시 시도해 주세요.
- chargerIssue : 죄송합니다. <device(s)>에 <a charger issue/charger issues>가 있는 것 같습니다.
- commandInsertFailed : <기기>의 명령어를 처리할 수 없습니다.
- deadBattery : <device(s)> <has/have> <a dead battery/dead batteries>.
- degreesOutOfRange : 요청하신 온도가 <device(s)>의 범위를 벗어납니다.
- deviceAlertNeedsAssistance : <device(s)>에 활성 알림이 있으며 지원이 필요합니다.
- deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
- deviceBusy : 죄송합니다. <device(s)>에서 이미 다른 작업을 진행하고 있는 것 같습니다.
- deviceCharging : 죄송합니다. <device(s)>이(가) (ha_shared.ItsTheyre size=$item.devices.total_device_count) 충전 중이어서 말씀하신 작업을 할 수 없습니다.
- deviceClogged : 죄송합니다. <device(s)>가 막힌 것 같습니다.
- deviceCurrentlyDispensing : <device(s)>에서 이미 배식 중입니다.
- deviceDoorOpen : <device(s)>의 도어가 열려 있습니다. 도어를 닫고 다시 시도하세요.
- deviceHandleClosed : 핸들이 <device(s)>에서 닫혔습니다. 핸들을 열고 다시 시도하세요.
- deviceJammingDetected : <device(s)> <is/are> jammed.
- deviceLidOpen : <device(s)>의 덮개가 열려 있습니다. 덮개를 닫고 다시 시도하세요.
- deviceNeedsRepair : <device(s)> <need(s)> to be repaired. 지역 서비스 대리점에 문의해 주세요.
- deviceNotDocked : 죄송합니다. <device(s)>이(가) 도킹되어 있지 않은 것 같습니다. 도킹한 후 다시 시도해 보세요.
- deviceNotFound : <device(s)> <is/are>n't available. 다시 설정해 보세요.
- deviceNotMounted : 죄송합니다. <device(s)>가 장착되어 있지 않아 요청하신 작업을 할 수 없는 것 같습니다.
- deviceNotReady : <device(s)> <is/are>n't ready.
- deviceStuck : <device(s)>이(가) 멈춰서 도움이 필요합니다.
- deviceTampered : <device(s)>이(가) 손상되었습니다.
- deviceThermalShutdown : 죄송합니다. <device(s)>의 온도가 너무 높거나 낮아서 전원이 꺼진 것 같습니다.
- directResponseOnlyUnreachable : <device(s)> <doesn't/don't> support remote control.
- disarmFailure : <device(s)>의 무장 해제에 실패했습니다.
- discreteOnlyOpenClose : 죄송합니다. <기기>는 끝까지 열거나 닫는 것만 가능합니다.
- dispenseAmountAboveLimit : <device(s)>에서 이만큼 많은 양을 배식할 수 없습니다.
- dispenseAmountBelowLimit : <device(s)>에서 너무 적은 양을 배식할 수 없습니다.
- dispenseAmountRemainingExceeded : <device(s)>에 <dispense item>이(가) 부족합니다.
- dispenseFractionalAmountNotSupported : <device(s)>에서 <dispense item>의 일부를 지급할 수 없습니다.
- dispenseFractionalUnitNotSupported : <device(s)>에서 <dispense item>을 말씀하신 단위로 나눠서 제공할 수 없습니다.
- dispenseUnitNotSupported : <device(s)>에서 <dispense item>에 대해 해당 단위를 지원하지 않습니다.
- doorClosedTooLong : <device(s)>의 문을 연 지 오래되었습니다. 문을 열어 안에 아무것도 없는지 확인한 후 다시 시도해 주세요.
- emergencyHeatOn : <device(s)>이 응급 난방 모드로 설정되어 있으므로 수동으로 조정해야 합니다.
- faultyBattery : <device(s)>에 <a faulty battery/faulty batteries>가 있습니다.
- floorUnreachable : <device(s)>이(가) 해당 방에 도달할 수 없습니다. <it/them>을(를) 올바른 층으로 이동한 후 다시 시도해 주세요.
- functionNotSupported : 실제로 <device(s)>에서 이 기능을 지원하지 않습니다.
- genericDispenseNotSupported : 배식하시려는 항목을 말씀해 주세요. 항목 이름을 다시 말씀해 주세요.
- hardError : 죄송합니다. 문제가 발생하여 홈 기기를 제어할 수 없습니다.
- hardError : 죄송합니다. 문제가 발생하여 홈 기기를 제어할 수 없습니다.
- inAutoMode : <device(s)> <is/are> currently set to auto mode. 온도를 변경하려면 다른 모드로 전환해야 합니다.
- inAwayMode : <device(s)> <is/are> currently set to away mode. 온도 조절기를 제어하려면 휴대전화, 태블릿 또는 컴퓨터에서 Nest 앱을 사용하여 재택 모드로 직접 전환해야 합니다.
- inDryMode : <device(s)> <is/are> currently set to dry mode. 온도를 변경하려면 다른 모드로 전환해야 합니다.
- inEcoMode : <device(s)> <is/are> currently set to eco mode. 온도를 변경하려면 다른 모드로 전환해야 합니다.
- inFanOnlyMode : <device(s)>이(가) 현재 팬 전용 모드로 설정되어 있습니다. 온도를 변경하려면 다른 모드로 전환해야 합니다.
- inHeatOrCool : <device(s)> <is/are>n't in heat/cool mode.
- inHumidifierMode : <device(s)>이(가) 현재 가습기 모드로 설정되어 있습니다. 온도를 변경하려면 다른 모드로 전환해야 합니다.
- inOffMode : <device(s)>이(가) 현재 꺼져 있습니다. 온도를 변경하려면 다른 모드로 전환해야 합니다.
- inPurifierMode : <device(s)> <is/are> currently set to purifier mode. 온도를 변경하려면 다른 모드로 전환해야 합니다.
- inSleepMode : <device(s)> <is/are> in sleep mode. 나중에 다시 시도해 주세요.
- inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
- lockFailure : <device(s)>을(를) 잠글 수 없습니다.
- lockedState : <device(s)>이(가) 현재 잠겨 있습니다.
- lockedToRange : 말씀하신 온도가 <기기>의 잠겨 있는 설정 범위를 벗어납니다.
- lowBattery : <device(s)>의 배터리가 부족합니다.
- maxSettingReached : <device(s)>이(가) 이미 최고 설정으로 설정되어 있습니다.
- maxSpeedReached : <device(s)>이(가) 이미 최대 속도로 설정되어 있습니다.
- minSettingReached : <device(s)>이(가) 이미 최저 설정으로 설정되어 있습니다.
- minSpeedReached : <device(s)>이(가) 이미 최소 속도로 설정되어 있습니다.
- monitoringServiceConnectionLost : <device(s)> <has/have> lost <its/their> connection to the monitoring service.
- needsAttachment : 죄송합니다. <device(s)>에 필요한 부착물이 없는 것 같습니다. 부착 후 다시 시도해 주세요.
- needsBin : 죄송합니다. <device(s)>에 먼지통이 없는 것 같습니다. 부착 후 다시 시도해 주세요.
- needsPads : <device(s)> <need(s)> new pads.
- needsSoftwareUpdate : <device(s)> <need(s)> a software update.
- needsWater : <device(s)>에 물이 필요합니다.
- networkProfileNotRecognized : 죄송합니다. <device(s)>에서 '<network profile>'을 인식할 수 없습니다.
- networkSpeedTestInProgress : 이미 <network> <speed/speeds>를 테스트하고 있습니다.
- noAvailableApp : 죄송합니다. <앱 이름>을 사용할 수 없는 것 같습니다.
- noAvailableChannel : 죄송합니다. <채널 이름> 채널을 이용하실 수 없는 것 같습니다.
- noChannelSubscription : 죄송합니다. 현재 <채널 이름> 채널을 구독하고 계시지 않습니다.
- noTimerExists : 죄송합니다. <device(s)>에 설정된 타이머가 없는 것 같습니다.
- notSupported : 죄송합니다. <device(s)>에서는 해당 모드를 사용할 수 없습니다.
- obstructionDetected : <device(s)>에서 장애물을 감지했습니다.
- offline , deviceOffline : 죄송합니다. 지금은 <device(s)>을(를) 사용하실 수 없는 것 같습니다.
- onRequiresMode : 사용 설정할 모드를 지정하세요.
- passphraseIncorrect : 죄송합니다. PIN이 잘못된 것 같습니다.
- percentOutOfRange : 죄송합니다. <device(s)>을(를) <percent>로 설정할 수 없습니다.
- pinIncorrect : (passphraseIncorrect)
- rainDetected : 비가 감지되어 <device(s)>을(를) 열지 않았습니다.
- rangeTooClose : 말씀하신 온도가 서로 너무 가까워 <device(s)>의 난방-냉방 범위로 사용할 수 없습니다. 서로 더 멀리 떨어진 온도 범위를 선택해 주세요.
- relinkRequired : 죄송합니다. 계정에 문제가 생긴 것 같습니다. Google Home이나 어시스턴트 앱을 사용하여 <기기>를 다시 연결해 주세요.
-
remoteSetDisabled
:
- 선택적 매개변수
errorCodeReason
currentlyArmed
- 죄송합니다. 보안이 이미 설정되어 있으므로 변경하려면 <기기>나 앱을 사용해야 합니다.remoteUnlockNotAllowed
- 죄송합니다. 원격으로 <기기>를 잠금 해제할 수 없습니다.remoteControlOff
- 현재 이 작업은 사용할 수 없습니다. <기기>에서 리모컨을 사용 설정하고 다시 시도해 주세요.childSafetyModeActive
- 어린이 보호 모드가 활성화되어 있을 때는 <기기>에서 이 작업을 사용할 수 없습니다.
- 선택적 매개변수
- roomsOnDifferentFloors : <device(s)>가 다른 층에 있으므로 지정된 방에 도달할 수 없습니다.
- safetyShutOff : <device(s)> <is/are> in Safety Shut-Off Mode, so <it/they>'ll have to be adjusted by hand.
- sceneCannotBeApplied : 죄송합니다. <device(s)>를 적용할 수 없습니다.
- securityRestriction : <device(s)>에 보안 제한이 있습니다.
- softwareUpdateNotAvailable : 죄송합니다. <device(s)>에 사용 가능한 소프트웨어 업데이트가 없습니다.
- startRequiresTime : 그러려면 <device(s)>를 얼마나 사용할지 알려주셔야 합니다.
- stillCoolingDown : <device(s)> <is/are> still cooling down.
- stillWarmingUp : <device(s)> <is/are> still warming up.
- streamUnavailable : 죄송합니다. 현재 <device(s)>에서 스트림을 사용할 수 없는 것 같습니다.
- streamUnplayable : 죄송합니다. 지금은 <device(s)>에서 스트림을 재생할 수 없습니다.
- tankEmpty : <device(s)>에 <빈 탱크/빈 탱크>가 있습니다. <빈 탱크/빈 탱크>를 채우고 다시 시도하세요.
- targetAlreadyReached : 죄송합니다. 요청하신 온도가 현재 온도와 일치합니다.
- timerValueOutOfRange : <device(s)>를 해당 시간으로 설정할 수 없습니다.
- tooManyFailedAttempts : 죄송합니다. 실패한 시도 횟수가 너무 많습니다. 기기의 앱으로 이동하여 작업을 완료하세요.
- transientError : 죄송합니다. <device(s)>를 제어하는 중에 문제가 발생했습니다. 다시 시도해 주세요.
- turnedOff , deviceTurnedOff : <device(s)>이(가) 현재 꺼져 있습니다.
- unableToLocateDevice : <device(s)>를 찾을 수 없습니다.
- unknownFoodPreset : <device(s)>에서 말씀하신 음식의 사전 설정을 지원하지 않습니다.
- unlockFailure : <device(s)>를 잠금 해제할 수 없습니다.
- unpausableState : 현재 <device(s)>를 일시중지할 수 없습니다.
- userCancelled : ok
- valueOutOfRange : <device(s)>을(를) 말씀하신 온도로 설정할 수 없습니다.
온라인 및 오프라인 상태 보고
기기가 오프라인인 경우 기기 동작 후 5분 이내에 상태 보고에 <code{"online": code="" dir="ltr" false}<="" translate="no">를 보고해야 합니다. 반대로 기기가 온라인 상태로 돌아오면 기기 동작 후 5분 이내에 상태 보고에 <code{"online": code="" dir="ltr" translate="no" true}<="">를 보고해야 합니다. 기기가 다시 온라인 상태가 될 때마다 파트너는reportStateAndNotification
API를 사용하여 현재 기기 상태를 모두 보고해야 합니다.
이 예에서는 light
기기 유형이 온라인 상태이며 모든 현재 기기 상태를 보고합니다.
"requestId": "test-request-id",
"agentUserId": "agent-user-1",
"payload":{
"devices": {
"states": {
"device-id-1": {
"brightness": 65,
"on": true,
"online": true
}
"notifications": {},
}
}
}
예외
명령어와 관련된 문제나 알림이 있는 경우 예외를 반환해야 합니다. 명령어가 성공하거나 실패할 수 있습니다.
명령어가 성공한 경우 (상태 = 'SUCCESS') StatusReport
특성을 사용하여 예외를 보고하거나 (타겟이 아닌 기기의 경우) 적절한 exceptionCode
를 반환합니다 (타겟 기기의 경우).
예를 들어 건조기 보풀 화면이 가득 차도 사용자는 건조기를 시작할 수 있지만 이 상태에 관해 경고하는 것이 좋습니다. 마찬가지로 기기의 배터리가 비어 있지 않지만 부족한 경우에도 명령어를 실행할 수 있지만 기기 배터리가 부족하다는 것을 알려야 합니다.
예외로 인해 명령어가 실패하면 상태는 'EXCEPTIONS'여야 하며 예외는 StatusReport
특성을 사용하여 보고해야 합니다.
타겟 기기에 관한 차단되지 않는 예외 (성공)
다음은 문을 잠그는 예입니다.
현관문 도어락의 배터리가 부족합니다. 현관문을 잠급니다.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["device-id-1"], "status": "SUCCESS", "states": { "on": true, "online": true, "isLocked": true, "isJammed": false, "exceptionCode": "lowBattery" } }] } }
StatusReport를 사용하는 다른 기기에 관한 차단되지 않는 예외 (성공)
다음은 보안 시스템을 설정하는 예입니다. 알겠습니다. 보안 시스템을 설정합니다. 앞 창문이 열려 있습니다.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["device-id-1"], "status": "SUCCESS", "states": { "on": true, "online": true, "isArmed": true, "currentArmLevel": "L2", "currentStatusReport": [{ "blocking": false, "deviceTarget": "sensor_id1", "priority": 0, "statusCode": "deviceOpen" }] } }] } }
StatusReport를 사용하는 다른 기기에 관한 차단 예외
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "devices": { "device-id-1": { "on": true, "online": true, "status": "EXCEPTIONS", "currentStatusReport": [{ "blocking": true, "deviceTarget": "device-id-1", "priority": 0, "statusCode": "lowBattery" }, { "blocking": true, "deviceTarget": "front_window_id", "priority": 1, "statusCode": "deviceOpen" }, { "blocking": true, "deviceTarget": "back_window_id", "priority": 1, "statusCode": "deviceOpen" } ] } } } }
예외 목록
다음 예외는 기기에서 연결된 TTS를 생성합니다.
- bagFull : <device(s)> <has/have> <a full bag/full bags>. Please empty <it/them> and try again.
- binFull : <device(s)> <has/have> <a full bin/full bins>.
- carbonMonoxideDetected : <집 이름>에서 일산화탄소가 감지되었습니다.
- deviceAtExtremeTemperature : <device(s)> <is/are> at <an extreme temperature/extreme temperatures>.
- deviceJammingDetected : <device(s)> <is/are> jammed.
- deviceMoved : <device(s)> <was/were> moved.
- deviceOpen : <device(s)> <is/are> open.
- deviceTampered : <device(s)>이(가) 손상되었습니다.
- deviceUnplugged : <device(s)> <is/are> unplugged.
- floorUnreachable : <device(s)>이(가) 해당 방에 도달할 수 없습니다. <it/them>을(를) 올바른 층으로 이동한 후 다시 시도해 주세요.
- hardwareFailure : <device(s)>에 하드웨어 문제가 있습니다.
- inSoftwareUpdate : <device(s)> <is/are> currently in a software update.
- isBypassed : <device(s)>이(가) 현재 우회되었습니다.
- lowBattery : <device(s)>의 배터리가 부족합니다.
- motionDetected : <device(s)> <detect(s)> motion.
- needsPads : <device(s)> <need(s)> new pads.
- needsSoftwareUpdate : <device(s)> <need(s)> a software update.
- needsWater : <device(s)>에 물이 필요합니다.
- networkJammingDetected : <device(s)>에 대한 홈 네트워크 연결이 제대로 작동하지 않습니다.
- noIssuesReported : <device(s)>에서 문제를 신고하지 않았습니다.
- roomsOnDifferentFloors : <device(s)>가 다른 층에 있으므로 지정된 방에 도달할 수 없습니다.
- runCycleFinished : <device(s)> 실행이 완료되었습니다.
- securityRestriction : <device(s)>에 보안 제한이 있습니다.
- smokeDetected : <집 이름>에서 연기가 감지되었습니다.
- tankEmpty : <device(s)>에 <빈 탱크/빈 탱크>가 있습니다. <빈 탱크/빈 탱크>를 채우고 다시 시도하세요.
- usingCellularBackup : <device(s)> <is/are> using cellular backup.
- waterLeakDetected : <기기>에서 물이 새는 것을 <감지>했습니다.