NODON fil pilote SIN-4-FP-21

As you want, but can be usefull later, I can update the code in 24h if needed, it’s fast only 1 line to edit.

How to remove my old DDF from deconz on Raspberry ??

Wich one is the “old” ? You just need to delete the file

All DDF provided directly with deCONZ typically reside in /usr/share/deCONZ/devices/ on a Linux system and are loaded first. However, files residing in the home directory of the user running deCONZ (e.g. /home/<DECONZUSER>/.local/share/dresden-elektronik/deCONZ/devices) will override the pre-packaged files to allow users to amend and keep their own files if desired.

And restart deconz, long story but it load DDF only at start.

You just need to have only 1 file with

  "manufacturername": "NodOn",
  "modelid": "SIN-4-FP-21",

In a “devices” folder, 1 will stay untouched, the second one will be updated on next deconz update.

This error message happen if the value is not defined in the DDF

      "meta": {
        "values": {
          "config/mode": {"confort": 1, "confort-1": 4, "confort-2": 5, "eco": 2, "hors gel": 3, "off": 0}
        }
      },

else all seem fine in your request for me. it’s the ZHAThermostat that have the ID 50 ?

Hello, I am returning to the DFF.
The cumulative consumption seems correct, it is displayed.
On the other hand, Power, which is the instantaneous power, only displays 1 or 0. I think there is an error. It is not 1/0 that should be displayed but the instantaneous consumption of the device connected to the module.
Thanks

Can you check the value in the GUI ? Cluster 0x0702, attribute 0x0400 ?
If you need to * 10 you can change the code for

        {
          "name": "state/power",
          "refresh.interval": 360,
          "read": {
            "at": "0x0400",
            "cl": "0x0702",
            "ep": 1,
            "fn": "zcl:attr"
          },
          "parse": {
            "at": "0x0400",
            "cl": "0x0702",
            "ep": 1,
            "eval": "Item.val = Attr.val * 10",
            "fn": "zcl:attr"
          },
          "default": 0
        }

it’s the instantaneous power. the device supports 3600w, so it would be necessary to multiply by 1000. But what surprises me is that I only see 0 or 1 in value, not 2 or 3. I don’t understand why.
I’ll check out the GUI as soon as possible. Thanks.

It works !
sudo curl -H “Content-Type: application/json” -X PUT -d ‘{“mode”:“confort-1”}’ http://192.168.1.76:80/api/BB51820E95/sensors/54/config

[{“success”:{“/sensors/54/config/mode”:“confort-1”}}]

DDF is stored in : /home//.local/share/dresden-elektronik/deCONZ/bundles

Remove the file ; restart deconz ; remove device ; load right DDF ; restart deconz ; pair the device.

Thank you very much !

You have tried the change for the power ?

not yet, I’m traveling.

@Smanar
with

“eval”: “Item.val = Attr.val * 10”,

power = 4510 W
and with

“eval”: “Item.val = Attr.val”,

power = 1 W
Neither is correct, the radiator is 1000 W
Edit: I check, the results seem incorrect to me. maybe I made a mistake

I found my error which was giving me bad results. In docker, stopping the container and restarting it is sufficient for the modified dbb to be taken into account. In Phoscon App, I think it is also necessary to exclude/include modules.
And I only stopped and restarted my docker with the new dbb and I looked at the result on phoscon App. It didn’t match. But looking at the result with postman, it’s good.
Your original line is good:

“eval”: “Item.val = Attr.val”,

Sorry for the inconvenience, I was wrong, I don’t know Phoscon well enough.

So the DDf is finished and working ?
You can make a PR to submit the device officialy ?

Yes for me the DDF works. Are the names of the pilot orders strictly identical to those used with the Legrand Netatmo product? because I will use both products and it is much simpler if the orders are identical, since it would simply be a different sensor number between a Legrand product and a NodOn product.
I want to make a ‘PR’ as you ask, but I don’t know what it means, or where to do it. A link?
Thanks for this work. Deconz API is really great. It is very similar to Hue, and the huge advantage is that everything works on local network without any access to an external server. :+1:

Yes, same with the same typo (as for me only french users will use it, have used the french word by error)

const std::array<KeyValMap, 6> RConfigModeLegrandValues = { { {QLatin1String("confort"), 0}, {QLatin1String("confort-1"), 1}, {QLatin1String("confort-2"), 2},
                                                              {QLatin1String("eco"), 3}, {QLatin1String("hors gel"), 4}, {QLatin1String("off"), 5} } };

To make a PR, when it’s only 1 file it’s easy, you just need a Github account, and try to create a new file for the DDF here deconz-rest-plugin/devices at master · dresden-elektronik/deconz-rest-plugin · GitHub in a new folder “nodon”
Github will say you don’t have right, create a fork under your name, and prepare the PR.

Don’t worry it’s not a one shoot operation, you will be able to edit that you want later on the PR page or on the file on your fork (it will be synchronised).

Else just ask I will do it.

ok. I have a Github account. I’ll make the PR and let you know.

Late, I did the PR. I think I did it correctly

Fine, no problem on PR ^^

1 Like

Does this mean that DDF will be included in a Deconz release soon?

I will depend of devs decision, but all is in place for it.
The device is a little “hacky”, but you are using the joker "ddfvalidate": false,

If the PR is valided, it will be automatically on next deconz update (beta or stable)