so the slave device only reports on change? i thought the master sends a request to get that report?
CANbus doesn't have "Masters" and "Slaves". Any module on a CANbus will initiate its messages. Other buses, like LIN, I2C, and SPI have a "Master" module that initiates every message.
In cars, most messages on CAN are sent periodically, whether or not any other module is receiving that message. For instance, on one car I looked at, the four wheel speeds were sent as four 16-bit values in one message, sent every 20 ms.
Other messages are sent when something happens, like a button is pressed or similar.
Occasionally, a CAN message will be sent in response to another CAN message. That happens a lot during diagnostics, where a tester will request information from a module, but it sometimes also happens outside of diagnostics. Diagnostic requests never happen on a car in normal running, unless some aftermarket product is used. The diagnostic messages on CAN change less from vehicle to vehicle, and from model year to model year, than the normal CAN messages, so it's easier for aftermarket products to use the diagnostic messages than the normal ones.
Obviously, the contents of a CAN message can change in response to another CAN message. Taking the example of the headlights, you could have both types of message on one CANbus.
Here is a possible scenario:-
The module that controls the headlights transmits continually whether the headlights were on or not. The instrument cluster uses that information to illuminate or not the headlight icon. When the ignition is first turned on, this signal says the headlights are off, so the headlight icon is off.
In this scenario the headlight switch is one of those that always returns to the same position, and it almost always either transmits nothing, or it transmits a signal that means "do nothing".
When the driver operates the switch to turn on the headlights, the switch transmits a signal to say "turn on the headlights". That is only sent once.
The headlight module receives that, turns on the headlights, and changes the signal to say the headlights are on. The instrument cluster receives that and illuminates the headlight icon.