The software for the dimmer is already in the arduino lib. You call set_power(x) percent and there is a 100 int array that maps the power percent to timer wait-off time after the zero cross. So yeah, at 50% it turns on right at nearly the peak of the wave. After so long now, I still haven't done the sums on how well the supplied snubber matches the inverter impedance versus the grid it was designed for. Also to account for some inches of wire the triac is now away from the snubber. Does that even matter?
That's why I said a PWM would be a bit kinder but more complicated. I just set it up to see if it could be done not to be elegant.
The early iteration with the 4.8kw element and a rather small AGM battery, yes it often crashed when feeding 1.5kw and the shade blew over the panels. Until you get the algo tightened up with the proper power setting, your battery should be able to withstand the load until your controller decides how to respond.
Polishing the home-made algo that decides on the power setting is the tricky bit. Depending on how you detect the instantaneous output of the solar panels, the mood of the mppt and the charge level of the battery, hold your tongue right.
You'll get a good power result if you rely on the battery to pick up the slack and then recharge, but you prolly shorten the life of AGM batteries by doing severely that over many days and months.
I should point out that depending on the MPPT controller, ramping power up and down can drive it nuts. You have to decide whether it prefers a slow gradual ramp (up or down) or a stepped ramp (up or down). That's why, I think, the project suggested above included their own MPPT as well, as a closed loop. Bells and buckles.
Now, I'd probably use a Pi instead of the Arduino simply because of the ability to surf on in from anywhere to tweak the algorithm performance across four weather seasons and if you add more panels. Though my Arduino has Ethernet, you can't really change the code so easily, obviously.