python-matter-server icon indicating copy to clipboard operation
python-matter-server copied to clipboard

Device command, invalid arguments?

Open olavt opened this issue 1 year ago • 3 comments

I have some code that worked before. Not sure when this broke, since I haven't tested it in a while.

This is the message I'm sending and the response I get back:

[17.08.2024 19:31:09.716 INF] MatterServerClient.SendCommandAsync: Sending command: { "message_id": "23", "command": "device_command", "args": { "node_id": 2, "endpoint_id": 1, "cluster_id": 6, "command_name": "Off", "payload": null } } [17.08.2024 19:31:09.718 INF] MatterServerClient.ReceiveFromWebSocket: 60 bytes received. [17.08.2024 19:31:09.719 INF] Received response: { "message_id": "23", "error_code": 8, "details": "" }

In the Python Matter Server log I get:

2024-08-17 19:31:09.717 (MainThread) ERROR [matter_server.server.client_handler] [548423327568] Error while handling: device_command (node 2): InvalidArguments

What is the problem with the "devive_command" message?

What argument is invalid?

olavt avatar Aug 17 '24 20:08 olavt

It seems like the issue is using null for payload and not {} (empty object). Using null in the past was not triggering the InvalidArguments error.

Is this caused by a change in Python Matter Server, or in the Matter SDK?

olavt avatar Aug 17 '24 20:08 olavt

It seems like the issue is using null for payload and not {} (empty object). Using null in the past was not triggering the InvalidArguments error.

Is this caused by a change in Python Matter Server, or in the Matter SDK?

marcelveldt avatar Aug 27 '24 16:08 marcelveldt

null is an actual value - maybe better just omit the payload

marcelveldt avatar Aug 27 '24 16:08 marcelveldt