Pairing to Google Home fails because country code is missing due to a Google bug
Describe the bug I try to pair the bridge with Google Home and see in the logs that it fails because of missing country code parameter. Credential generation fails because of this.
[17:02:35.857][PaseServer]Received pairing request from udp://[fdd4:7096:9c02:4af8:d0e9:e7f8:9e4e:10dd]:37507.
info[17:02:36.129][PaseServer]Session 32349 created with udp://[fdd4:7096:9c02:4af8:d0e9:e7f8:9e4e:10dd]:37507.
info[17:02:36.145][InsecureSession]End insecure session insecure/3701538282845185983
info[17:02:36.313][ProtocolService]Invoke Matterbridge.operationalCredentials.certificateChainRequest online#3d3eadf@0 certificateType: 1
info[17:02:36.964][ProtocolService]Invoke Matterbridge.generalCommissioning.armFailSafe online#3d3eae4@0 expiryLengthSeconds: 120 breadcrumb: 1
info[17:02:37.059][CommandInv~eResponse]Validation-Error 0x87 while invoking command: (ValidationOutOfBoundsError/135) String "" is too short: 0, min 2. in field countryCode
info[17:02:37.063][CommandInv~eResponse]Invoke error RootNode:0x0.GeneralCommissioning:0x30.setRegulatoryConfig:0x2: Status=ConstraintError(135), ClusterStatus=undefined
info[17:02:37.105][ProtocolService]Invoke Matterbridge.generalCommissioning.armFailSafe online#3d3eaec@0 expiryLengthSeconds: 1 breadcrumb: 1
info[17:02:38.111][FailsafeContext]Failsafe timer expired; resetting fabric builder
info[17:02:38.117][SecureSession]Register Session secure/32349 to close when exchange is ended.
To Reproduce Try to pair with latest Google Home backed by Nest 2 and get this error in the logs that denies credentials exchange. I use Google Pixel 10 to initiate the pairing via reading the QR code generated by the bridge. If fails with an error and I see the following logs
[17:02:35.857][PaseServer]Received pairing request from udp://[fdd4:7096:9c02:4af8:d0e9:e7f8:9e4e:10dd]:37507.
info[17:02:36.129][PaseServer]Session 32349 created with udp://[fdd4:7096:9c02:4af8:d0e9:e7f8:9e4e:10dd]:37507.
info[17:02:36.145][InsecureSession]End insecure session insecure/3701538282845185983
info[17:02:36.313][ProtocolService]Invoke Matterbridge.operationalCredentials.certificateChainRequest online#3d3eadf@0 certificateType: 1
info[17:02:36.964][ProtocolService]Invoke Matterbridge.generalCommissioning.armFailSafe online#3d3eae4@0 expiryLengthSeconds: 120 breadcrumb: 1
info[17:02:37.059][CommandInv~eResponse]Validation-Error 0x87 while invoking command: (ValidationOutOfBoundsError/135) String "" is too short: 0, min 2. in field countryCode
info[17:02:37.063][CommandInv~eResponse]Invoke error RootNode:0x0.GeneralCommissioning:0x30.setRegulatoryConfig:0x2: Status=ConstraintError(135), ClusterStatus=undefined
info[17:02:37.105][ProtocolService]Invoke Matterbridge.generalCommissioning.armFailSafe online#3d3eaec@0 expiryLengthSeconds: 1 breadcrumb: 1
info[17:02:38.111][FailsafeContext]Failsafe timer expired; resetting fabric builder
info[17:02:38.117][SecureSession]Register Session secure/32349 to close when exchange is ended.
Expected behavior Credentials exchange succeeds and my exposed devices are available to Google Home.
Screenshots
Debug file
I'll provide it, if the issue is not obvious from the log above.
Plugin (please complete the following information):
- Version 3.4.0
Matterbridge (please complete the following information):
- Add-on in HAAS
Additional context
This seems like protocol comparability issue where credential exchange fails because of validation errors as seen in the logs
That is something sent by Google Home not vice versa.
@Apollon77 can maybe help...
Is a Google bug...
@artemkovalyov please provide full details. Google home app version and all version details on Android and such. Also versions of nest hubs and such. Also verify that your Google accounts has set the correct location country and such.
In fact Google should not send an empty string as countryCode field as by spec. So question is now why it is sent that wrong way.
@Apollon77 , you're right, it's a Google issue and I do not seem to be able to resolve it for now. It should have been easy with simply making my home address configured, but it still fails even after I made my google profile shine down to payments and legal address. So annoying. I'm on Pixel 10 with Nest Hub 2. All the locations are set to perfection and I re-paired the Nest Hub several times already. I've no idea why they even need it for Matter over IP.
Best contact Google support. They need to address this. Maybe restart all Google devices and the hub also that data get synced if maybe something like that could be the case.
Did just that and repaired everything with re-creating all the assets like new home, etc. Still no. I created a support case. I'll keep it open to submit the RCA and solution if I manage to solve it.
Did just that and repaired everything with re-creating all the assets like new home, etc. Still no. I created a support case. I'll keep it open to submit the RCA and solution if I manage to solve it.
Please keep us updated.