Modbus Sensor calculate income value

The scale and offset are performed in the sequence described in the documentation. If you want to perform different operations on the incoming value, you’ll have to create a template sensor. I’d suggest doing the offset in the modbus config and then creating a template sensor to scale it.

The scan_interval must be a fixed number, so what you can do instead is set a very long time (months or years) and then create an automation that fires on whatever interval our trigger you want, and calls the update_entity service

Also, in the future please format your code properly. See item #11 in this post.