Configuring Zigbee reporting

I am very new to coding device drivers. If my question doesn't seem to make sense, it may indicate a fundamental mis-understanding about how these things work.

I am attempting to modify a Sage Doorbell driver to sense thermostat heat/cool calls. Physically, thermostats send these calls by connecting a circuit similar to the way doorbells connect a circuit when someone presses the button. Unlike doorbell presses, the signal will go on for minutes. I am attempting to modify the driver at https://github.com/trunzoc/Hubitat/blob/master/Drivers/Sage_Doorbell/Sage_Doorbell.groovy. With this driver, when the circuit is connected, the doorbell sensor is sending multiple messages per second.

Based on what I have read about ZigBee, I need to tell the sensor what messages to send in a configure reporting message. I have not been able to find any device specific documentation. I also have not been able to reverse engineer the existing driver. I believe the commands in question are in the configure() function, but I can't make sense of the code in that function. Can someone point me to a good reference? (I don't expect anyone to do it for me.)

What I would prefer that the device do is send a message when the circuit is closed and another when the circuit is opened. I could work with periodic messages while it is closed, as long as I could control the frequency.

What you are trying to do would have to be done in the firmware of the device. You can't accomplish that through a command to the device.

What you could do is remove the spacing in the driver that causes it to post only one button press every so many seconds. But the device is going to flood your network with messages. It was probably a bad suggestion on my part to try this device. Sorry.