Heiman Smoke Sensor - no state updates - after upgrade from stable deconz 2.12 --> 2.21.2

You can make/save a DDF for both devices (that would be beneficial anyway). Check out DDF cheat sheet · dresden-elektronik/deconz-rest-plugin Wiki · GitHub

I did not really realize what DDF and legacy device meant in this bug-report context.

Because of my former deconz versions 2.12 and earlier, I never had something to do with DDF. (So please correct me if I’m wrong - the advantage is, that it is keeping device requests away from the deCONZ code - Am I right? So everybody is able to announce a new device to rest-api by his own .json-file?)

I deleted the request in the previous post where I was asking for a:
“Dirty trick” for bringing back functionality to deCONZ 2.21.2 back again, before any new stable or beta versions are uploaded.

So I started today to save my first DDF files for “Heiman EF-3.0” device and “Orvibo SF21”.
All I did was to right click on the device and “Edit DDF”.
I set Status to “Gold” compared Device/ModelID and checked “Sleeper” and saved it to my .local/share/dresden-elektronik/deCONZ/devices/XXdevicenameXX
After that, I reloaded through “File”->“Hot reloaded” the DDF for the devices…
So tomorrow I will know, if all devices were refreshed ever x hours, if i didn’t made a mistake.

After only a few hours it seems for me, that the rest-api now knows, when the last battery update information was received.
“Lastseen” and “reachable” are still far away from the real last seen - So I use “battery” status, which is always newer, than any other timestamp, so I let fhem check for the battery status timestamp.

That sums it up quite good. The idea is indeed that the device support is fully expressed through the json files and anybody who isn’t happy with a current implementation can do his own thing. Another benefit is that DDF handling code is way more optimized and robust.

One word about available timestamps in FHEM: I haven’t looked at the code for a long time, but when I did, the usage of timestamps was wrong. Lastupdated and lastseen was switched and that is significant. Worth to note though that lastseen is only updated once per minute to prevent websocket flooding. One of the reasons I’ve written my own module…

So, in that sense, there’s not even any dirty trick required, as the DDF approach allows you to bring in devices real fast (previously supported devices even faster). Your course of action is perfect and I don’t expect anything odd to happen. We’d even appreciate if you could share your 2 DDFs, so I can make PRs for them and do some tweaking where required. Others would benefit and it would allow us to remove some further lines and dirty hacks from the codebase.

Yes, I know but the “reachable” timestamp was very reliable over the last years with 2.12. And since yesterday evening, every sensor update updates “battery”- and “reachable”-timestamp with the same time - so it seems, that everything is working fine, if you use my DDFs for Heiman/Orvibo SF21 and Heiman SmokeSensor-EF-3.0 - obsolete!. Have fun with them :wink:

If I compare my two generated files with schwaiger/zhs20 DDF file from deCONZ - I can see an additional unicast 0x01 Power Configuration Binding - What’s this for? Is is it important?

I noticed, over the day, that still two of the four EF-3.0 sensors do not refresh battery status. I have only one DDF for them, but noticed in “node list” and basic cluster0x0004, that they have different “Manufacturer Names” HEIMAN and Heiman is this important? Do I have to save two DDFs for the same Device???

After beeing so uncommunicative - I resetted and repaired the two EF-3.0 devices again:

Deleted both sensors from deCONZ.
deCONZ - Control - Enable permit join.
After joining the network. I immediately read
basic, power configuration and ias-zone cluster.

After that I edited the new DDF for Heiman-EF-3.0 and surprise - Three new bindings in DDF:
Basic, Power Configuration and IAS Zone.

Check “Sleeper” and check “Gold” status and hot reload.
Since this procedure all EF-3.0 devices are refreshing battery-states.

But after being so uncommunicative before, they are now a bit to chatty.

Every time they are sending battery states, they talk to deCONZ for a while (green and blue dot blinking for minutes). I checked the log and found that: (Does anybody know - what this means? - What is still wrong?)

12:02:25:470 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0000, attr: 0x4000, mfcode: 0x0000, aps.id: 213, zcl.seq: 252
12:02:26:046 ZCL got unsupported status: 0x86 for mandatory attribute
12:02:26:048 ZCL got data for node=0xA7E8, cl=0x0000, at=0x4000, status=0x86, type=0x00
12:02:26:050 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0000, attr: 0x4000, mfcode: 0x0000, aps.id: 217, zcl.seq: 253
12:02:26:506 ZCL got unsupported status: 0x86 for mandatory attribute
12:02:26:507 ZCL got data for node=0xDF4F, cl=0x0000, at=0x4000, status=0x86, type=0x00
12:02:26:508 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0000, attr: 0x4000, mfcode: 0x0000, aps.id: 222, zcl.seq: 254
12:02:26:690 ZCL got data for node=0xB51F, cl=0x0006, at=0x0000, status=0x00, type=0x10
12:02:28:068 ZCL got unsupported status: 0x86 for mandatory attribute
12:02:28:070 ZCL got data for node=0xA7E8, cl=0x0000, at=0x4000, status=0x86, type=0x00
12:02:28:072 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0000, attr: 0x4000, mfcode: 0x0000, aps.id: 233, zcl.seq: 0
12:02:28:505 ZCL got unsupported status: 0x86 for mandatory attribute
12:02:28:506 ZCL got data for node=0xDF4F, cl=0x0000, at=0x4000, status=0x86, type=0x00
12:02:29:513 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0000, attr: 0x4000, mfcode: 0x0000, aps.id: 242, zcl.seq: 1
12:02:30:068 ZCL got unsupported status: 0x86 for mandatory attribute
12:02:30:070 ZCL got data for node=0xA7E8, cl=0x0000, at=0x4000, status=0x86, type=0x00
12:02:30:528 ZCL got unsupported status: 0x86 for mandatory attribute
12:02:30:528 ZCL got data for node=0xDF4F, cl=0x0000, at=0x4000, status=0x86, type=0x00
12:02:31:073 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0000, attr: 0x4000, mfcode: 0x0000, aps.id: 251, zcl.seq: 2
12:02:31:532 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0000, attr: 0x4000, mfcode: 0x0000, aps.id: 254, zcl.seq: 3
12:02:32:108 ZCL got unsupported status: 0x86 for mandatory attribute
12:02:32:109 ZCL got data for node=0xA7E8, cl=0x0000, at=0x4000, status=0x86, type=0x00
12:02:32:110 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0000, attr: 0x4000, mfcode: 0x0000, aps.id: 2, zcl.seq: 4
12:02:32:547 ZCL got unsupported status: 0x86 for mandatory attribute
12:02:32:548 ZCL got data for node=0xDF4F, cl=0x0000, at=0x4000, status=0x86, type=0x00

@BeamMeUpTo Could you please share the Orvibo DDF once again? I get errors when trying to access the previously shared files, only the new version for the Heiman works.

The observations you mentioned are the reason why I meant to tweak the DDFs as required. The power configuration binding is the most important one. Without that part, newly joined devices (if they get reset), do not send any battery readings.
The attribute “errors” you see in the log are rightfully there, a different attribute must be used in that case.

I’ll prepare a PR in the repository with a tweaked DDF, so you can test it.

No, problem: :wink:
Till today every sensor reports battery states at least within 5h - the most of them every 2h.

Orvibo

1 Like

Sounds good :+1:

Exchanged files - now testing…
Both files are now with bindings for “Power Conf.” and “IAS Zone”… and other changes you made :wink:

I noticed one line with: (I think this is the bug-fix - you did before)
"cppsrc": "power_configuration.cpp:197"

Do I have to expect some difficulties because of that with unpatched 2.21.2?
In the evening I will tell if everything is still ok…

… Evening!
After some hours of testing Orvibo SF21 and Heiman EF-3.0 DDFs, there is still too much chatting by two of the EF-3.0 devices. They are constantly talking to deCONZ for over 30 minutes, when they want to update battery states, they are involved in a discussion, but now without error-codes (They just talk - Any idea?):
Additionally it seems, that only lately “reset and repaired devices with 2.21.2” are showing this. All devices I left untouched since 2.12 are behaving normal:

OG.Ar.Rauchmelder EF-3.0

12:35:28:907 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:28:914 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 239, zcl.seq: 18
12:35:30:915 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:30:922 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 250, zcl.seq: 19
12:35:32:951 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:32:965 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 5, zcl.seq: 20
12:35:33:058 [IAS ZONE] - 0x000D6F00161FA8A5 Sensor (ZHAAlarm) is enrolled.
12:35:34:950 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:34:967 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 21, zcl.seq: 21
12:35:36:978 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:36:994 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 33, zcl.seq: 24
12:35:39:010 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:39:024 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 43, zcl.seq: 25
12:35:41:013 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:41:020 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 52, zcl.seq: 26
12:35:44:070 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:44:084 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 70, zcl.seq: 27
12:35:46:065 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:46:068 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 82, zcl.seq: 28
12:35:48:095 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:48:101 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 92, zcl.seq: 29
12:35:50:107 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:50:113 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 104, zcl.seq: 30
12:35:52:146 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:52:152 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 115, zcl.seq: 31
12:35:54:151 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:54:157 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 125, zcl.seq: 34
12:35:56:214 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:56:226 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 143, zcl.seq: 37
12:35:58:187 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:35:58:191 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 150, zcl.seq: 38
12:36:00:230 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:36:00:241 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 163, zcl.seq: 39
12:36:02:233 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:36:02:245 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 176, zcl.seq: 40
12:36:04:432 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:36:04:438 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 187, zcl.seq: 41
12:36:06:286 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:36:06:304 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 201, zcl.seq: 44
12:36:08:293 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:36:08:296 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 210, zcl.seq: 45
12:36:11:349 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:36:11:376 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 226, zcl.seq: 46
12:36:13:342 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:36:13:350 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 235, zcl.seq: 47
12:36:15:366 ZCL got data for node=0xA7E8, cl=0x0001, at=0x0021, status=0x00, type=0x20
12:36:15:370 ZCL read attr 0x804B50FFFEFFE806, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 246, zcl.seq: 48

So far - one of the SF21 started with chatting, too - no error codes just chatting - (aps.id and zcl.seq increase and after 255 they restart talking? For several minutes.

OG.Fl.Rauchmelder Orvibo
:11:14:336 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:14:341 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 54, zcl.seq: 82
15:11:15:401 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:15:404 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 62, zcl.seq: 83
15:11:16:421 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:16:425 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 69, zcl.seq: 84
15:11:17:346 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:17:350 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 74, zcl.seq: 85
15:11:18:349 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:18:353 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 79, zcl.seq: 86
15:11:19:351 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:19:356 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 87, zcl.seq: 87
15:11:20:362 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:20:367 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 96, zcl.seq: 88
15:11:21:363 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:21:367 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 102, zcl.seq: 89
15:11:22:362 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:22:365 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 109, zcl.seq: 90
15:11:23:362 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:23:369 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 113, zcl.seq: 91
15:11:24:365 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:24:367 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 120, zcl.seq: 92
15:11:25:366 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:25:368 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 125, zcl.seq: 93
15:11:26:366 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:26:368 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 133, zcl.seq: 94
15:11:27:376 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:27:378 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 141, zcl.seq: 95
15:11:28:374 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:28:378 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 147, zcl.seq: 96
15:11:29:395 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:29:400 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 153, zcl.seq: 97
15:11:30:409 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:30:413 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 160, zcl.seq: 98
15:11:31:382 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:31:386 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 165, zcl.seq: 99
15:11:32:402 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20
15:11:32:407 ZCL read attr 0x000D6F0010DD0C6C, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 172, zcl.seq: 100

Hm, strange. You might want to test adding refresh.interval to config/battery item. I’ll have another look at the code meanwhile…

{
          "name": "config/battery",
          "refresh.interval": 86400,
          "awake": true,
          "parse": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "eval": "Item.val = Attr.val / 2",
            "fn": "zcl"
          },
          "read": {
            "at": "0x0021",
            "cl": "0x0001",
            "ep": 1,
            "fn": "zcl"
          }
        },

Have same issue recently.
Can you enable log “DDF” too ? to see if just after

15:11:16:421 ZCL got data for node=0xABCE, cl=0x0001, at=0x0021, status=0x00, type=0x20

The value is correclty updated.

I will test this later… long weekend/holidays - so I have to play with the kids :wink:

DB.Rauchmelder - DDF enabled - recently reset and repaired with 2.21.2 (same behavior): (Tell my if this log is the right one or if you need more/other settings.)


10:43:12:947 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:43:12:957 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 106, zcl.seq: 218
10:43:14:953 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:43:14:955 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 115, zcl.seq: 219
10:43:16:899 ZCL read attr 0xA4C1388BEC29F914, ep: 0x01, cl: 0x0B04, attr: 0x0505, mfcode: 0x0000, aps.id: 125, zcl.seq: 220
10:43:16:976 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:43:16:978 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 127, zcl.seq: 221
10:43:17:025 ZCL got data for node=0x8DC5, cl=0x0B04, at=0x0505, status=0x00, type=0x21
10:43:19:107 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:43:19:110 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 136, zcl.seq: 222
.
.
.
10:44:13:565 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:44:13:567 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 163, zcl.seq: 254
10:44:15:605 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:44:15:608 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 175, zcl.seq: 255
10:44:17:625 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:44:17:627 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 184, zcl.seq: 0
10:44:19:624 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:44:19:627 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 196, zcl.seq: 1
10:44:21:647 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:44:21:670 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 209, zcl.seq: 3
10:44:23:668 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:44:23:672 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 219, zcl.seq: 4
10:44:25:691 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
.
.
.
10:45:09:157 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:45:09:161 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 208, zcl.seq: 31
10:45:11:161 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:45:11:165 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 217, zcl.seq: 32
10:45:13:202 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:45:13:204 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 230, zcl.seq: 33
10:45:15:225 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:45:15:235 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 240, zcl.seq: 34
10:45:15:883 ZCL got data for node=0x70D9, cl=0x0000, at=0x4000, status=0x00, type=0x42
10:45:17:225 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:45:17:227 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 252, zcl.seq: 36
10:45:19:248 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:45:19:255 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 8, zcl.seq: 37
10:45:21:266 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:45:21:268 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 18, zcl.seq: 39
.
.
.
10:47:08:407 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 135, zcl.seq: 106
10:47:10:398 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:10:400 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 142, zcl.seq: 107
10:47:12:422 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:12:433 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 154, zcl.seq: 108
10:47:14:439 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:14:443 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 163, zcl.seq: 109
10:47:16:461 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:16:463 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:16:464 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 173, zcl.seq: 112
10:47:18:479 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:18:480 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:18:485 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 186, zcl.seq: 113
10:47:20:501 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:20:502 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:20:503 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 194, zcl.seq: 114
10:47:21:529 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:21:531 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:21:548 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 201, zcl.seq: 115
10:47:23:488 00:15:8d:00:03:1e:ac:38-01-0b04/state/voltage expression: if (Attr.val != 65535) { Item.val = Attr.val; } --> 240
10:47:23:605 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:23:606 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:23:833 a4:c1:38:8b:ec:29:f9:14-01-0702/state/consumption expression: Item.val = Attr.val * 10; --> 8690
10:47:24:536 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 217, zcl.seq: 116
10:47:25:572 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:25:573 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:25:583 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 224, zcl.seq: 117
10:47:27:610 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:27:611 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:27:621 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 239, zcl.seq: 120
10:47:29:613 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:29:615 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:29:630 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 247, zcl.seq: 121
10:47:31:635 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:31:637 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:31:656 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 3, zcl.seq: 122
10:47:32:956 00:15:8d:00:03:2b:1a:43-01-0b04/state/power expression: if (Attr.val != -32768 && Attr.val != 32768) { Item.val = Attr.val; } --> 13
10:47:33:637 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:33:639 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:33:640 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 15, zcl.seq: 123
10:47:35:665 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:35:667 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:35:670 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 24, zcl.seq: 124
10:47:37:681 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:37:684 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:37:703 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 35, zcl.seq: 125
10:47:39:705 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:39:707 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:39:710 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 46, zcl.seq: 127
10:47:41:659 ZCL got data for node=0x3DA3, cl=0x0006, at=0x0000, status=0x00, type=0x10
10:47:41:728 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:41:730 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:41:732 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 62, zcl.seq: 130
10:47:43:744 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:43:746 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:43:747 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 71, zcl.seq: 131
10:47:45:766 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:45:768 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:45:769 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 83, zcl.seq: 132
10:47:47:787 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:47:789 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:47:792 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 96, zcl.seq: 133
10:47:47:868 00:15:8d:00:03:1e:ac:38-01/state/on expression: Item.val = Attr.val --> true
10:47:49:829 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:49:831 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:49:847 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 110, zcl.seq: 136
10:47:50:652 ZCL got data for node=0x3DA3, cl=0x0006, at=0x0000, status=0x00, type=0x10
10:47:51:848 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:51:850 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:51:924 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 123, zcl.seq: 138
10:47:53:849 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:53:851 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:53:873 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 133, zcl.seq: 139
10:47:55:873 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:55:875 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:55:893 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 143, zcl.seq: 140
10:47:57:914 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:57:916 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:57:932 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 154, zcl.seq: 141
10:47:59:915 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:47:59:916 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:47:59:941 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 164, zcl.seq: 142
10:48:01:950 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:48:01:952 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:48:01:969 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 177, zcl.seq: 145
10:48:02:871 ZCL got data for node=0x3DA3, cl=0x0006, at=0x0000, status=0x00, type=0x10
10:48:03:976 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:48:03:977 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:48:03:988 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 191, zcl.seq: 147
10:48:05:462 00:15:8d:00:03:1e:ac:38-01-0b04/state/voltage expression: if (Attr.val != 65535) { Item.val = Attr.val; } --> 237
10:48:05:988 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:48:05:989 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:48:05:991 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 205, zcl.seq: 148
10:48:08:106 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:48:08:109 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:48:08:112 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 214, zcl.seq: 149
10:48:10:031 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:48:10:033 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98
10:48:10:042 ZCL read attr 0x84FD27FFFE045C89, ep: 0x01, cl: 0x0001, attr: 0x0021, mfcode: 0x0000, aps.id: 225, zcl.seq: 150
10:48:10:519 00:15:8d:00:03:2b:1a:43-01-0b04/state/voltage expression: if (Attr.val != 65535) { Item.val = Attr.val; } --> 235
10:48:11:669 ZCL got data for node=0x3DA3, cl=0x0006, at=0x0000, status=0x00, type=0x10
10:48:12:033 ZCL got data for node=0xDF4F, cl=0x0001, at=0x0021, status=0x00, type=0x20
10:48:12:034 84:fd:27:ff:fe:04:5c:89-01-0500/config/battery expression: Item.val = Attr.val / 2 --> 98

It seem fine for me …
Another usefull logs is “dev”

13:28:51:314 DEV 0x0004740000170655 read state/on, dt 9 sec

“dt” is a delta time it need to be > refresh.interval, so you can check this one after having adding it.

I changed DDF for EF-3.0 Device to 3600 (1h - hope so), and noticed no extensive talking since that change.

Orvibo (still unchanged!) keeps talking and logs dt with: dt=-1 (What does this mean - not set?)
Tomorrow, I will change them, too, if nothing unpredictable happens to EF-3.0.

But by the way - why are paired sensors before deconz version 2.21 are not effected? Only new re-paired with 2.21.2?

You have the code here deconz-rest-plugin/device.cpp at master · dresden-elektronik/deconz-rest-plugin · GitHub

dt=-1 mean for me you haven’t refresh.interval in the DDF for this field (or = 0)

So with "refresh.interval": 3600, for both Orvibo SF21 and Heiman EF-3.0 every device works as expected and they aren’t talking to deCONZ for over 30 minutes anymore.

Schwaiger ZHS20 DDF has no refresh.interval. None of them is repaired recently so the effect with 2.21.2 does not show or there is none.

Key here is that refresh.interval is missing and a read function is defined. Under the hood, the battery item gets an interval of 0 assigned, pretty much resulting in a very extensive attribute poll loop.

The Schwaiger, in contrast, does not have a read function defined and exits the same function earlier due to precendence. I’ll have the DDFs corrected. However, we should evaluate if the currently implemented conditions (or at least the one responsible for the loop) should be amended/updated.

1 Like

So here everything works fine for days with the changes above!

Is there anything more I can test or log for you?

If no, I would wait for the next (stable or beta - which version comes first - estimated when? - Where the fixes are integrated.

Should I then test first with or without DDF to see if both versions are working?

1 Like

New beta is there since 8 days!!! - I missed it, because of other things I had to do… :wink:
As soon as they are finished, I will test… Heiman, Orvibio… with new 2.22.01…

:+1: Thanks for the hint! I just installed the beta as I never used DDFs before, I’ll check the new behaviour and come back if there are new insights.

I’m testing 2.22.1 since yesterday.
It seems that everything works fine with the new DDF for Orvibo and Heiman EF3.0 - before I deleted my own DDF from .local/…/devices folder.

Should I test legacy mode, too? Or is this dying, anyway soon or later? If! - How to test? Set all three Heiman Clones to “Draft” and restart?