mikejac/node-red-contrib-google-smarthome

Local fulfillment not functioning in version 0.4.0

Closed this issue · 9 comments

Hi,

I upgraded the node "node-red-contrib-google-smarthome" from version 0.3.14 to 0.4.0

Followed the following procedure:

1, Updated, using the palette in Node-RED
2. Copied the new (version 2.5) app,js file to the Desktop Computer.
3. In Google Actions Console removed old version of app.js file
4. Uploaded new version (version 2.5) to the Google Actions console
5. Saved the changes
6. Restarted Node-RED
7. Refreshed browser
8. Checked the "Management" node en selected MDNS. The correct HTTP port was automatically inserted. The Discovery port is empty.
9. Deployed Node RED
10. Restarted the Google devices
11. Waited some minutes (Normally within this time "local fulfillment" has been restored)
12. Checked the Goole "inspect" console (chrome://inspect)

Screenshot_Google_inspect

  1. Checked the Logs in the Google Actions Console

Screenshot_Google_Actions_Error

Details see below:

{ "insertId": "1trg44gg11zvtub", "jsonPayload": { "appVersion": "2.5", "severity": "ERROR", "errorCode": "invalidRequest", "requestId": "F8EED1E165C66BF431F05D8E9BB147B4", "intent": "IDENTIFY", "message": "{\"requestId\":\"F8EED1E165C66BF431F05D8E9BB147B4\",\"payload\":{\"errorCode\":\"invalidRequest\",\"debugString\":\"Unable to find Node Red Google Smarthome connection info.\"}}", "timestamp": "2022-12-01T14:21:26.327Z" }, "resource": { "type": "assistant_action_project", "labels": { "project_id": "jonas-node-red-c3709" } }, "timestamp": "2022-12-01T14:21:26.658349349Z", "severity": "ERROR", "logName": "projects/jonas-node-red-c3709/logs/assistant_smarthome%2Fintent_error_logs", "receiveTimestamp": "2022-12-01T14:21:26.658349349Z" }

So I think that instead that

Breaking changes

This release will temporarily break local fulfillment. To get it working again, open the configuration of your management node and select MDNS as scan type. You can usually leave Discovery and HTTP port empty.

this is not temporarily breaking local fulfillment but permanently.

Could you advise?

Tested once more.
To be sure that the results are not obscured by a non functioning CameraStream device, the device has been removed.
Currently I also see the same error message in the Google Chrome Inspect console.

Screenshot_Chrome_Inspect1

Please, restart node-red, do a successfully request sync, if no errors occurs, restart your Google home device and check again the logs

Hello @ckhmer1

I followed your proposed procedure (although I did that multiple times before, but maybe not in this sequence)

After restart of Node-RED, I did a request sync. No errors in Node RED were shown. I restarted my Google Nest Hub and my 2 Google Nest Mini devices. Checked the logs in Chrome , but the result is similar as shown before.
The Google Nest Hub showed the error message below, but the Mini's did not show an error message,

Screenshot_Chrome_Inspect2

The Logs explorer in the Google Action Console show a similar error.

Is there anything I can check, that point to a possible error or misconfiguration?

Regards

Could you please show the "IDENTIFY intent:" object?
It should be an array, open the first element, then the "payload" and then the "devices" structure.

If you have configured the UDP scan, inside the devices field the field "udpScanData" should be present, for mDNS the field "mdnsScanData" should be present.

I need to know the data inside the structure present inside the devices message.
Thanks

Hi @ckhmer1,

You asked:

Could you please show the "IDENTIFY intent:" object?

It should be an array

This is correct and in my case it has 38 elements, but I don't think that this is what you want to see.
If I open the first element, there is no "payload".

Screenshot_Chrome_Inspect3

However if I go to inputs, I see the requested data.
I hope I'm correct, if not give me a guideline.

Screenshot_Chrome_Inspect4

In the app.js, the raw 134 instead of

clientId = deviceToIdentify.mdnsScanData;

should be

clientId = deviceToIdentify.mdnsScanData.txt.clientId;

Could you please perform this change, upload the new app.js, restart the Google home and let me know?

Hello @ckhmer1

Thank you very much, You did it again!
The solution worked (at least for me) and local fulfillment has been restored.
Do you plan to create a new version (2,6) of app.js?
Thanks once more and have a nice weekend.

Regards

Hello @FireWizard52 ,
Thanks for testing.

I've just created a new PR for fixing this issue.

We need to wait that @Caprico85 merge it.

Have a nice weekend too.

Claudio

@ckhmer1,

Thanks for the quick fix.
I think we can close this issue.

Regards