cancel
Showing results for 
Search instead for 
Did you mean: 

externalDebugString: "Unrecognized status: EXCEPTIONS"

jasonlowry
Community Member

I've integrated a security system using Google Cloud-to-Cloud. It works, except if there is a blocking exception. For example, if a door is open then the user isn't allowed to arm the system. Here's my response:

{"requestId":"6894439706274654516","payload":{"commands":[{"ids":["1202C68845CF"],"status":"EXCEPTIONS","states":{"isArmed":false,"online":true,"currentStatusReport":[{"deviceTarget":"1202C68845CF-00005415","blocking":true,"priority":0,"statusCode":"deviceOpen"}]}}]}}

The problem is that instead of informing the user that the door is open, it says "Sorry, something went wrong controlling <Security System>". 

 

The error logs show the following:

status{
externalDebugString"Unrecognized status: EXCEPTIONS"
isSuccessfalse
statusType"PARTNER_RESPONSE_INVALID_STATUS"
}
 
The documentation seems to be a bit unclear here, as the sample uses "SUCCESS" status with blocking code, but documentation clearly states: If the command fails due to exceptions, the status should be "EXCEPTIONS", and the exceptions should be reported using the StatusReport trait.
 
I've tried with SUCCESS, ERROR, and EXCEPTIONS, all with similar results.
 
Does anyone have a sample blocking JSON payload that is successful?
2 Recommended AnswerS

jasonlowry
Community Member

After messing with some more... 

If the system supports bypassing sensors, then you need to add the challengeNeeded. Then the assistant will prompt you that the door is open, then allow you to confirm.

        "status": "ERROR",
       
"errorCode": "challengeNeeded",
       
"challengeNeeded": {
         
"type": "ackNeeded"
       
},

 

View Recommended Answer in original post

sipriyadarshi
Solutions Expert
Solutions Expert

Hello @jasonlowry ,

Just wanted to check if you were able to resolve your issue using the above suggestion about "challengeNeeded" or do you still need some help ?

 

View Recommended Answer in original post

5 REPLIES 5

jasonlowry
Community Member

After messing with some more... 

If the system supports bypassing sensors, then you need to add the challengeNeeded. Then the assistant will prompt you that the door is open, then allow you to confirm.

        "status": "ERROR",
       
"errorCode": "challengeNeeded",
       
"challengeNeeded": {
         
"type": "ackNeeded"
       
},

 

sipriyadarshi
Solutions Expert
Solutions Expert

Hello @jasonlowry ,

Just wanted to check if you were able to resolve your issue using the above suggestion about "challengeNeeded" or do you still need some help ?

 

jasonlowry
Community Member

I think the documentation needs to be updated. I found the challengeNeeded while working on something else. I created bug ticket for this.

Could you share the bug link for the same here ?

jasonlowry
Community Member

Here is the external link:

https://issuetracker.google.com/issues/333408166

However, this worked for my security system because it supports bypass. If it didn't I think the code needs to return an error: 

        "status": "ERROR",
       
"errorCode": "armFailure",