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.