@chrishamm I was using stable 3.5.4
Tried unstable 3.6.0-beta2 tonite and got a different behaviour, the connection was closed by the server with this error "Closing connection: Internal Server Exception" when calling set_plugin_data.
I tried to call the function with a wrong key-name and/or wrong plugin-id, but this didn't change anything.
The log with debug enabled looks like:
Dec 09 23:44:01 duetpi DuetControlServer[725]: [debug] IPC#62: Granting full DSF permissions to external plugin
Dec 09 23:44:01 duetpi DuetControlServer[725]: [debug] Command processor added for IPC#62
Dec 09 23:44:01 duetpi DuetControlServer[725]: [debug] IPC#62: Received command WriteMessage
Dec 09 23:44:01 duetpi DuetControlServer[725]: [info] [IOExample]: IO [auto:True; inputs:True,False,False,True; outputs:True,False,False,False]
Dec 09 23:44:01 duetpi DuetControlServer[725]: [debug] Got new connection IPC#63, checking permissions...
Dec 09 23:44:01 duetpi DuetControlServer[725]: [debug] IPC#63: Granting full DSF permissions to external plugin
Dec 09 23:44:01 duetpi DuetControlServer[725]: [debug] IPC#62: Connection closed
Dec 09 23:44:01 duetpi DuetControlServer[725]: [debug] Command processor added for IPC#63
Dec 09 23:44:01 duetpi DuetControlServer[725]: [debug] IPC#63: Received command WriteMessage
Dec 09 23:44:01 duetpi DuetControlServer[725]: [info] [IOExample]: Closing connection: Internal Server Exception
Dec 09 23:44:01 duetpi DuetControlServer[725]: [debug] IPC#63: Connection closed
Dec 09 23:44:01 duetpi DuetPluginService[1702]: [info] Plugin IOExample: Process has been stopped with exit code 0
Calling the function ('set_plugin_data("IOExample", "output0", 1)') with a non-string value gives a different error:
"Closing connection: value must be a string"
Anything else I can test ... ?