exiva / Vizio_SmartCast_API

API documentation for Vizio SmartCast TV's
171 stars 32 forks source link

No way to read RESPONSE_VALUE from sound bar #14

Open msaundersh3 opened 6 years ago

msaundersh3 commented 6 years ago

Hi, I'm trying this with a Visio SB4031-D5 sound bar and I'm stuck at pairing without a screen to read the RESPONSE_VALUE to complete the pairing challenge. I've tried many simple 4-digit pins and tried switching to the HDMI input (no signal) to no avail. Any assistance would be appreciated.

PUT /pairing/start returns

{
    "STATUS": {
        "RESULT": "SUCCESS",
        "DETAIL": "Success"
    },
    "ITEM": {
        "CHALLENGE_TYPE": 6,
        "PAIRING_REQ_TOKEN": Integer
    }
}

PUT /pairing/pair returns

    "STATUS": {
        "RESULT": "CHALLENGE_INCORRECT",
        "DETAIL": "Challenge incorrect"
    }
}
exiva commented 6 years ago

I don't have a soundbar so I'm not sure... How does pairing with soundbars work in the official Vizio app? Where do you get the pin from?

shafeey commented 6 years ago

After decompiling the SmartCast app, I found the response PIN is "0000". The CHALLENGE_TYPE is 6 here, so you have to modify it in your response too. $ curl -k -H "Content-Type: application/json" -X PUT -d '{"DEVICE_ID":"12351","DEVICE_NAME":"AlexaSkill"}' https://$myVizioTV:9000/pairing/start The response code gives you the token {"STATUS":{"RESULT":"SUCCESS","DETAIL":"Success"},"ITEM":{"CHALLENGE_TYPE":6,"PAIRING_REQ_TOKEN":456789}}

At this point, your soundbar should start making three beeps and you need to press the volume up button. Then submit a response: curl -k -H "Content-Type: application/json" -X PUT -d '{"DEVICE_ID": "12351","CHALLENGE_TYPE": 6,"RESPONSE_VALUE": "0000","PAIRING_REQ_TOKEN": 456789}' https://$myVizioTV:9000/pairing/p air There should be a success message and a beep in the soundbar. {"STATUS":{"RESULT":"SUCCESS","DETAIL":"Success"},"ITEM":{"AUTH_TOKEN":"xxx"}}