If I m right there is this error on all setup.
But there is 2 deconz versions, one headless and one for desktop, so need to stop one before running the second one.
Making a DDF from scratch can be complicated, as the support for tuya cluster is not finished, so at a moment or another you will be forced to use a text editor. Better idea to start with an already existing DDF.
On first try better to delete the old device and re-include it, because you can have a strange issue with old entries made with the legacy code and new one made with the DDF code. After you can use the option “Hot Reload” in the DDF editor.
I m looking the DDF, I don’t see what you can miss, you have this one
{
"schema": "devcap1.schema.json",
"manufacturername": "_TZE200_fjjbhx9d",
"modelid": "TS0601",
"product": "Smart Dimmer Module",
"sleeper": false,
"status": "Gold",
"subdevices": [
{
"type": "$TYPE_DIMMABLE_PLUGIN_UNIT",
"restapi": "/lights",
"uuid": [
"$address.ext",
"0x01"
],
"items": [
{
"name": "attr/id"
},
{
"name": "attr/lastannounced"
},
{
"name": "attr/lastseen"
},
{
"name": "attr/manufacturername"
},
{
"name": "attr/modelid"
},
{
"name": "attr/name"
},
{
"name": "attr/swversion",
"parse": {"fn": "zcl", "ep": 1, "cl": "0x0000", "at": "0x0001", "script": "tuya_swversion.js"},
"read": {"fn": "zcl", "ep": 1, "cl": "0x0000", "at": "0x0001"}
},
{
"name": "attr/type"
},
{
"name": "attr/uniqueid"
},
{
"name": "state/alert",
"default": "none",
"public": false
},
{
"name": "state/on",
"parse": {"fn": "tuya", "dpid": 1, "eval": "Item.val = Attr.val;" },
"write": {"fn": "tuya", "dpid": 1, "dt": "0x10", "eval": "Item.val == 1 ? 1 : 0;"},
"read": {"fn": "tuya"},
"refresh.interval": 300
},
{
"name": "state/bri",
"parse": {"fn": "tuya", "dpid": 2, "eval": "Item.val = (Attr.val / 1000.0) * 254.0;"},
"write": {"fn": "tuya", "dpid": 2, "dt": "0x2b", "eval": "(Item.val / 254.0) * 1000.0;"},
"read": {"fn": "none"},
"refresh.interval": 84000
},
{
"name": "state/reachable"
}
]
},
{
"type": "$TYPE_DIMMABLE_PLUGIN_UNIT",
"restapi": "/lights",
"uuid": [
"$address.ext",
"0x02"
],
"items": [
{
"name": "attr/id"
},
{
"name": "attr/lastannounced"
},
{
"name": "attr/lastseen"
},
{
"name": "attr/manufacturername"
},
{
"name": "attr/modelid"
},
{
"name": "attr/name"
},
{
"name": "attr/swversion",
"parse": {"fn": "zcl", "ep": 1, "cl": "0x0000", "at": "0x0001", "script": "tuya_swversion.js"},
"read": {"fn": "zcl", "ep": 1, "cl": "0x0000", "at": "0x0001"}
},
{
"name": "attr/type"
},
{
"name": "attr/uniqueid"
},
{
"name": "state/alert",
"default": "none",
"public": false
},
{
"name": "state/on",
"parse": {"fn": "tuya", "dpid": 7, "eval": "Item.val = Attr.val;" },
"write": {"fn": "tuya", "dpid": 7, "dt": "0x10", "eval": "Item.val == 1 ? 1 : 0;"},
"read": {"fn": "none"},
"refresh.interval": 84000
},
{
"name": "state/bri",
"parse": {"fn": "tuya", "dpid": 8, "eval": "Item.val = (Attr.val / 1000.0) * 254.0;" },
"write": {"fn": "tuya", "dpid": 8, "dt": "0x2b", "eval": "(Item.val / 254.0) * 1000.0;"},
"read": {"fn": "none"},
"refresh.interval": 84000
},
{
"name": "state/reachable"
}
]
}
]
}
While on/off and changing the brigthness on the “hardware” it shows me the value and state in the WebApp. When setting the bri in the WebApp, no effect on the lamp…
So the dp is the good one as return as working.
There is probably a problem with the “write” part. What is your deconz version ?
If you have the GUI can you enable the log (in deconz / help / debug view) with flag “info”, to check logs that look like
TY_DATA_%s: seq %u, dpid: 0x%02X, type: 0x%02X, length: %u, val: %d\n"