After a bunch of back and forth and many hours of trial and error, I've finally got a robust way to integrate the Clipsal/PDL Iconic dimmers integrated into Home Assistant via zigbee2mqtt.
I have submitted a PR that adds a zigbee-herdsman-converter that means the dimmers should be recognised automatically by zigbee2mqtt, allowing them to be controlled by Home Assistant like any other compatible device.
As it transpires, this was actually really easy once I worked out what to do, so this isn't even a hack.
If you have the PDL354PBDMBTW or 41EPBDWCLM devices you can switch these over to zigbee mode by pressing the button 12 times (thanks to @ell249 for the tip).
After you press it 12 times it will take a few seconds then start flashing red. Then it takes another half minute or so to settle in and as long as your network permits joining it should show up as a device and join the network.
If you have problems, or you want to revert to BLE mode just do the standard factory reset by pressing the button 3 times quickly, then holding until the light flashes red slowly, then flashes red quickly. Make sure you hold on until it flashes quickly, otherwise it doesn't reset. This was the mistake I made and left me thinking I had bricked it.
Once you switch to zigbee mode, you can't connect to it via the Wiser Room app to do firmware upgrades and such. It appears that the zigbee mode is supported by the Wiser by SE app, but it seems like you need a Wiser Hub to do this. So far, I haven't tried to make support for OTA via zigbee2mqtt.
There are some other settings that the zigbee certification document say are supported that I haven't gone through and made show up in zigbee2mqtt. I think it supports LevelCtrl and other things, but I couldn't get them to work easily and frankly I was more interested in the on/off and brightness control than anything else.
I have a couple of these switches(normal on/off) and would like to use the OnTime functionality. I have tested it via MQTT but was wondering if there is an option where it can also act like a delay off via the button?