I have a sunny tripower PV inverter which goes to deep sleep overnight. This behavior may raise a general question. How do we handle sleeping components?
Here is my situation. The sunny tripower PV inverter is sleeping overnight. The PV inverter implementation
SmaPvInverter can handle this. During sleep channels are invalidated (for example
pvInverter0/ActivePower = null) but the component is not going to an error. The problem occurs when I add a PvInverterSellToGridLimit Controller. For computation it uses
pvInverter.getActivePower().getOrError(). Every night this call switches PvInverterSellToGridLimit Controller state to fault, which sets the complete system state to fault, which triggers alarms in our backend infrastructure.
I am not sure, what to do now.
- from a business perspective the obvious way would it be to disable sunny tripower hardware sleep functionality, but that can’t be the solution.
- Within the PV inverter driver I could set channels to 0 (not
null) when sleeping. All controller should be able to handle this
- We could change all controllers to be able to handle
Or do we need something like a new interface/component or channel state
sleeping, because in the future a lot more hardware components may be able to sleep?
What do you think?