I downloaded your xiaomi switch driver and made a couple of changes, in particular adding the following lines to the ‘device_init’ in the main ‘init.lua’:
This seems to have fixed the problem with the spurious ‘held’, without any loss of functionality. The devices still contact the hub regularly. In fact that is how you pick up the temperature status and energy information.
I have this working with several different older switches, all 1-gang. I haven’t tred a 2-gang case yet.
I know that this regular login doesn’t occur with the newer switches (e.g. opple), but cluster: 0xFCC0 attribute: 0xF7 provides the same functionality as the regular (catchall) login and may be worth using as a monitored function with no unfortunate side effects.