python-dali icon indicating copy to clipboard operation
python-dali copied to clipboard

Control Devices: respect "resolution" when reading "inputValue"

Open jktjkt opened this issue 1 year ago • 1 comments

The standard (62386-103:2014, chapter 9.7) states that the "resolution" of an instance is not always 8-bits. If it's any longer, a proper read involves a transaction and a sequence of commands. If the number is not divisible by 8, extra trailing bits have to be truncated.

Tested on Lunatone DALI-2 MC (86459532-2) and Lunatone CS-2 (86458670). The push button coupler is a part-301 device where the standard says that the on-the-wire values are either 0x00 or 0xff, but the actual resolution (and therefore the correct numeric value) is either 0 or 1. The other device, a combined movement sensor with a light meter, supports 11 bits of resolution for the lux meter and therefore it requires a "QUERY INPUT VALUE" followed by a "QUERY INPUT VALUE LATCH" and dropping the extra 5 bits.

jktjkt avatar Aug 20 '23 23:08 jktjkt

Looks good, thank you.

Ideally there would be a test for this new sequence in test_device_sequences.py

sde1000 avatar Aug 22 '23 07:08 sde1000

Ideally there would be a test for this new sequence in test_device_sequences.py

Done -- and sorry for a "slight" delay :).

jktjkt avatar Apr 26 '24 00:04 jktjkt