Danke für die Antworten.
Beim Linux System hängt es vermutlich am Parameter -addr dass dieser korrekt angegeben wird, wenn die CCU auf einem anderen Server liegt, ansonsten nimmt er localhost als addresse. Danach funktionierts.
Die virtuellen Gruppen funktionieren auch (aber nicht die virtuellen Geräte auf cuxd Basis, aber das ist ja bekannt).
Das Setzen eines Datenpunktes eines HM-WDS40-TH-I-2 der Temperatur:
Get
http://192.168.25.61:2121/device/NEQxxx ... RATURE/~pv
ergiebt {"ts":1584827039465,"v":24.3,"s":0}
der Put erzeugt Code 200 = OK aber in der CCU ändert sich nichts.
Der ausschnitt des Tracefiles des CCU-Jack:
2020-03-21 22:27:12|DEBUG |veap-handler |Request from 192.168.25.61:41078, method PUT, URL /device/NEQxxxxxxx/1/TEMPERATURE/~pv
2020-03-21 22:27:12|TRACE |veap-handler |Request body: {"v": 10.3}
2020-03-21 22:27:12|DEBUG |itf-client |Calling method setValue(NEQ0680500:1, TEMPERATURE, 10.3) on
http://192.168.25.75:2001
2020-03-21 22:27:12|TRACE |xmlrpc-client |Calling method setValue on
http://192.168.25.75:2001
2020-03-21 22:27:12|TRACE |xmlrpc-client |Request XML: <?xml version="1.0" encoding="ISO-8859-1"?>\n<methodCall><methodName>setValue</methodName><params><param><value>NEQ0680500:1</value></param><param><value>TEMPERATURE</value></param><param><value><double>10.3</double></value></param></params></methodCall>
2020-03-21 22:27:12|TRACE |xmlrpc-client |Response XML: <?xml version="1.0" encoding="iso-8859-1"?>\n<methodResponse><params><param>\n <value></value>\n</param></params></methodResponse>\n
2020-03-21 22:27:12|TRACE |veap-handler |Response code: 200
die Curl Befehle müssen escaped werden, sonst funktionieren sie nicht:
curl -d "{\"v\":true}" -H "Content-Type: application/json" -X PUT
http://ccuadrresse:2121/device/000serie ... /STATE/~pv