Are you sure this is caused by solenoid shorting? 20ohm resistance is within acceptable range. The damage could be caused by power surges, or voltage spikes induced by lighting etc.
About fuse: it’s difficult to decide the fuse rating — many users want to open multiple solenoids at the same time, which will trip the fuse undesirably. So we can’t decide whether the fuse rating should be 500mA, 1A, 2A or what. We’ve had batches of OSPi in the past that have on-board fuse, but there are false triggerings so in later batches we decided to leave this as a choice for the user — if you want to add a fuse, you can decide what’s the current rating you want.
The triacs we use (Z0103MN) has on-state maximum current of 800mA to 1A, which is in its datasheet:
All transistors have specified maximum on-state current. This has nothing to do with over-current protection. The maximum on-state current refers to the maximum amount of current that each transistor is able to handle, beyond that it might burn out. Nowhere in the user manual did we say there is over-current protection of 800mA on each channel. The total over-current protection of 2A was from the previous batch when there was on-board 2A fuse, so I admit that’s no longer there and should be removed. Over-voltage protection is done by TVS diode for each zone, that’s for voltage protection, not for current protection.
Non-fuse based current limiting circuit for each zone is not trivial to implement and will significantly increase the cost of the circuit. If you have any idea how to implement non-fuse based current limiting circuit for each zone, and this is for AC current, let me know, I would be curious to know.