MOES 2-Gang Dimmer detected as Smart PLug 2

Hello Community,

my Setup:
Conbee II: 2.19.01 / 19.9.2022
Firmware: 26720700

Raspberry PI 4 w. OpenHab 3

I have a different ZIGBEE running, so far so good.

Problem:
My new device:
Smart Plug 2
Manufacture: _TZE200_fjjbhx9d
Model: Lichterkette

It is a Moes 2-Gang Dimmer US,
Modell ZS-USD

The dimmer is running fine with the hardware-pads.
With the phoscon-app I can only switch it on/off and so is the openhab working too.

I removed and reconnect without progress. The mistake is reproducable, not temporary.

How can I tell the Phoscon-server this is a “dimmer”?

Best regards Jörg

It’s something normal, lot of tuya stuff are “Smart Plug” when you ask the firmware to know the device.
This can be solved using DDF.

You can find a sample here deconz-rest-plugin/_TZE200_e3oitdyu_smart_dimmer_module.json at master · dresden-elektronik/deconz-rest-plugin · GitHub

But better to make a device request if you can succed.

For information the model _TZE200_fjjbhx9d use as dpid

1 > state 1
2 > brightness 1
7 > state 2
8 > brightness 2

Seem to be the same than on the sample

OK. Thank you very much.

I did not know that there is a deCONZ App with it’s own GUI.
Running it on LINUX creates a libpng-error which does not seem easy to solve, somehow related to PNG files with an unknow/wrong sRGB-profile!?

I installed at windows and setup there.

Now I have the DDF-Editor, BUT…this is absolutely NOT straightforward.
I have - more or less - tech knowledge, but where do I get all the bindings-section-data from?
What is dpid?

There is a button “read” but it errors with “Can’t send ZCL command we dont have a compatible endpoint”

Do I need an endpoint, a binding, how do I put this ? What is a ZCL-command and do I need this at all?
How do I put this
“name”: “state/bri”, parse, read and write statements with this editor in the json?

Whaaa… I only want to set the brightness of one dev and now I am lost in an Editor which kills me.
Sorry, but I am a little bit lost now…

After copying the referenced json ( _TZE200_e3oitdyu_smart_dimmer_module.json)
and editing the Hersteller, putting it back to my user-devices-folder … now I have a “Dimmer”.

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…

But this 50% success is “accidently” and I have no clue how to fix the issue with “no effect FROM WebApp TO dimmer”

Somehow I am missing some nuts and bolts and have no starting point for learning all this.

Any help appreciated.

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"