How does SMBus receive byte command protocol know what to send?
Receive Byte is a low-level function, equivalent to a simple I2C read. It's up to the slave to decide what data to send in response. It could depend on the context of the previous communications, or there could be some default data such as a status code or sensor value. If the slave device can accept multiple addresses, then the choice of data could be based on the address. Or the command might not be useful at all.