By carefully comparing both datasheets, I see that the BME688 has an additional variant register (registeraddress 0xF0), returning the value 0x01. I don't know what the BME680 will return if you read this, but maybe this register can be used to detect 680 vs 688 from firmware. As I have some hardware with the BME680 on it, I will test it tomorrow.
... View more