Ich würde kein URL Encoding verwenden, sondern ein JSON API bauen (POST Requests). Ist sicherer, flexibler und es gibt sicher reichlich Beispiele dafür.
Beispiel:
POST http://ip:port/fhem/api
{
"method": "set",
"device": "myDev",
"command": "state",
"valuelist": [ 1, 2, 100 ]
}