How to add a Zigbee device in a .things file?

Because .things files were always and ever only a stop gap. It was never intended to be the way.

That’s just a rule with an if statement. Pretty straight forward. There are literally thousands of examples in the forum.

The over all structure of a time is documented in Rules | openHAB and that page has links to documentation for the programming syntax.

rule "Test Rule"
when
    ...
then
    if(xcddd){
       ...
    else{
        ...
    }
end

Or using Scripted Automation an Python (Rules DSL will be deprecated on OH 3)

from core.rules import rule
from core.triggers import when

@rule("Test")
@when("...")
def test(event):
    if xcddd:
        ...
    else:
        ...

Or, if you do want to use PaperUI to define Rules, you define the trigger in the “When…” section, then add a “Script Action” then the “then…” section where you put in

    if xcddd:
        ...
    else:
        ...

if using Python or

    if(xcddd){
        ...
    }
    else {
        ...
    }

Use the Items, yes. There are only limited use for Things in Rules.

None if this had changed fundamentally since OH 1.6. How ever you are doing roles in OH 2.4 is exactly the same as well work in 2.5 as worked in 2.0. small details have changed but nothing at the Hever you are talking at.

You don’t have to use PaperUI to create and manage Things in JSONDB.

You’ve been using OH for awhile but your comments indicate you don’t really know how OH works. If you really want Items aromatically created you can turn on simple mode. I don’t recommend that though. You should create the Items. Items if where you give the devices meaning and context in your home Automation system. And items is what everything in OH operates on.

Perhaps a refresh if the docs or reviewing some of the resources in How to get started (there is no step-by-step tutorial) would do you good.