Separate a DDF into two versions

I need to separate a DDF.
I’m using Sonoff SNZB-02D and SNZB-02P devices. Both use the same DDF. I need frequent temperature readings on the 02P, which drains the battery quickly on the 02D.
To solve this problem, I thought about splitting the DDF into two versions, each located in my personal data folder.
Is this a viable solution?

Yes, your personnal folder will override the pre-packaged files.

But both are battery powered ? the SNZB-02P can support faster reporting and not the other ?

They can both provide frequent data updates. However, the O2D units in my setup drain the battery much faster under the same conditions. I only use this device for informational purposes, with its display. On the other hand, the O2P units are used to control the heating, and I need frequent data updates to manage the PID heating in each room. I’m going to take the DDF I’m using and create a version for each type of device, keeping the two models separate. These are two models that I don’t use for the same purpose.

I have very little experience with DDFs. How should I proceed? Do I simply need to separate manufacturename and modelid without touching schema or uuid?

And then modify the frequency of the data feeds I’m interested in.

{
“schema”: “devcap1.schema.json”,
“uuid”: “52815a37-6180-4ab8-83ef-021d75496a7b”,
“manufacturername”: [
“eWeLink”,
“eWeLink”,
“SONOFF”,
“SONOFF”,
“eWeLink”
],
“modelid”: [
“CK-TLSR8656-SS5-01(7014)”,
“TH01”,
“SNZB-02D”,
“SNZB-02P”,
“SNZB-02P”
],
“vendor”: “Sonoff/eWeLink”,
“product”: “Temperature and humidity sensor”,
“sleeper”: true,
“status”: “Gold”,
“subdevices”: [
{

And then modify the frequency of the data feeds I’m interested in who is here I think for the temperature readings:

{
“bind”: “unicast”,
“src.ep”: 1,
“cl”: “0x0402”,
“report”: [
{
“at”: “0x0000”,
“dt”: “0x29”,
“min”: 0,
“max”: 0,
“change”: “0x00000001”
}

If you create your own DDF (and I think it’s that you are doing, remove the uuid.
It’s more used for bundle stuff, to reconize file.

Just create 2 news DDF, with specific Manufacturename/ModelID.
You can see if it have worked after a restart, right clic on a node then “edit DDF” you will see the path/file in the editor titlebar.

“at”: “0x0000”,
“dt”: “0x29”,
“min”: 0,
“max”: 0,
“change”: “0x00000001”

It’s an official DDF ? with 0 value ?

No, it’s my version, 0x00000001 or
0x0000000A to adjust to tenths of a degree. It’s 0x0000001E in the original DDF. I wrote a PHP script on the websocket that manages 5 heating zones with Sonoff 2P sensors to take readings every minute for PID calculation. Adjusting to 0.1 degrees works well with these inexpensive Sonoff sensors. Good, sensitive, and discreet equipment. I haven’t found anything better.
And I’m still very happy with deCONZ and its websocket. I just wish it had Google Home compatibility. But I seem to remember seeing a GitHub project that did the bare minimum, like turning it on and off. I can’t find it anymore. Can you confirm, or did I imagine it?

It’s a realy good question.
At start deconz mimic the HUE API, so all what was working natively with the HUE bridge can work with deconz.
Honnestly I don’t know the compatibility ATM, I have searched fastly on google, some uers are using Homebridge, I have found a recent one on OpenHAB but I think Google home is working with Openhab, not deconz

Not sure it still working with the bare minimum.

What is the procedure for integrating a custom DDF?
Do I simply stop deCONZ (docker container in my case) and restart it?

Yep, there is a “hot relaod” feature, but the better way is create the 2 news DDF and restart deconz (it load DDF only at start)
And on the docker version, you have a persistant folder to put DDF.

It was a bit of a struggle, but it works!
I have deCONZ in Docker.
I have openHAB in Docker.
I was able to integrate openHAB into deCONZ.
openHAB sees all my deCONZ devices. By linking openHAB to Google Home on my smartphone, I can control a smart plug with ‘ok google’ to turn it on/off.
openHAB can communicate with deCONZ and Google Home. I only use openHAB for that!
I used a Legrand Netatmo smart plug, and it works well. Discovering openHAB in Google Home is rather slow; you might think it’s not working because Home is stuck in a loop, but it does work!
I only use openHAB for “OK ​​Google” access; it doesn’t use any Docker resources.

I’m happy with the result. I’ll be able to do away with the Legrand Netatmo bridge by putting all the Legrand devices on deCONZ and keeping “OK Google.” No more proprietary bridges in my setup; everything is local with deCONZ. Only “OK Google” needs an internet connection. You need to create an openHAB account; it’s free.

And you finally are using a third app ^^, OpenHAB.

solely to act as a ‘bridge’ between deconz and Google Home. A ‘silent’ Docker container running locally. It’s only used to bridge deCONZ and Google Home. A silent Docker container running locally. It’s not a system I manage. It’s not a Netatmo-type server that malfunctions too often, nor is it a Netatmo bridge that doesn’t work locally without internet access.

I would have preferred if deCONZ could communicate with Google Home, but if I understand correctly, that will never happen. I had no desire to install Home Assistant, and it seems that openHAB is the only possible solution. On the other hand, I’m already using castv2 on Node.js in Docker, which allows me to read sentences via Google Mini or Chromecast based on certain events.

1 Like