Modbus write register settings sma battery invertor using service modbus.write_register

Maybe you are supposed to convert the register number to an address. Modbus - Wikipedia says this:

holding register numbers start with 4 and span from 40001 to 49999.
…
For holding registers starting at number 40100, address will be 99.

So I guess this should work:

service: modbus.write_register
data:
  address: 150
  hub: thames23ss
  value: 802
  unit: 3

However, I have no experience with Modbus. If you decide to try my example above, you are doing so at your own risk. You could potentially write the value to an incorrect register.