Hallo @luz ,
muss leider wieder ein Problem lösen 🙂
Das Anlegen des Gerätes funktioniert super. Super Doku.. 🙂
Habe da nur ein Problem mit einer "Joker Klemme". Ich lege diese wie folgt an:
{
"method": "x-p44-addDevice",
"dSUID": "none",
"x-p44-itemSpec": "vdc:Scripted_Device_Container:1",
"init": "{ 'message':'init','name':'Test 1','output':'basic','colorclass':'8', 'dimmable': false, 'buttons': [{'id': 'button1', 'buttonid': 1, 'buttontype': 1, 'element': 0, 'usage': 3, 'group': 8}]} "
}
Soweit so gut, wird in dS angezeigt und ist schaltbar. Nur habe ich ein Problem das value über die SmartHome API vom dSS zu steuern. Die outputId
unterscheiden sich zwischen dsDevices und functionBlocks. Ein patch request gibt mir diesen Fehler:
{
"error": {
"type": "error",
"title": "error",
"status": 500,
"detail": "Could not find item. deviceOutputId:powerState model/apartment.cpp:1361 patchPath:/functionBlocks/47fcf5951dca55878036fca5bcc77bd200/outputs/powerState/value httpPath:/api/v1/apartment/dsDevices/47fcf5951dca55878036fca5bcc77bd200/status"
}
}
GET /api/v1/apartment/dsDevices/47fcf5951dca55878036fca5bcc77bd200/status
{
"data": {
"id": "47fcf5951dca55878036fca5bcc77bd200",
"type": "dsDeviceStatus",
"attributes": {
"functionBlocks": [
{
"id": "47fcf5951dca55878036fca5bcc77bd200",
"outputs": [
{
"id": "powerState",
"value": 0.0,
"status": "ok",
"targetValue": 0.0
}
]
}
],
"submodules": [
{
"id": "47fcf5951dca55878036fca5bcc77bd200",
"operationsLocked": false
}
]
}
}
}
GET /api/v1/apartment/functionBlocks/47fcf5951dca55878036fca5bcc77bd200
{
"data": {
"id": "47fcf5951dca55878036fca5bcc77bd200",
"type": "functionBlock",
"attributes": {
"name": "Test 1",
"technicalName": "custom script device",
"active": true,
"outputs": [
{
"id": "basic_switch",
"attributes": {
"technicalName": "switch",
"min": 0.0,
"max": 100.0,
"resolution": 0.10000000000000001,
"mode": "switched",
"levels": 1.0
}
}
],
"buttonInputs": [
{
"id": "button0",
"attributes": {
"technicalName": "Pushbutton#0",
"type": "appmode",
"mode": "button1way"
}
}
],
"submodule": "47fcf5951dca55878036fca5bcc77bd200",
"deviceAdapter": "47fcf5951dca55878036fca5bcc77bd200"
}
}
}
powerState
wäre in dem Fall korrekt, nur geht des net..
https://git.digitalstrom.org/dss/dss-mainline/-/blob/master/src/util.cpp#L175