@Thorrak thank you very much for this information! Yes, your quote is correct, but you also have provided me with the information I was looking for insofar as the SSR contains the optoisoloation.I'd defer to @day_trippr here as he has actual knowledge in this space, but I'm guessing that what you're referring to is the fact that the Sainsmart-style 2-channel relay modules have two separate circuits that can be driven independently to switch the relays. One controls the optoisolator and the second is controlled by the optoisolator and actually drives the relay.
The idea is that optoisolators themselves have relatively low current requirements and therefore can be driven directly off the GPIO pins from an Arduino/ESP. The relay, on the other hand, consumes far more current when being switched on/off as there is a magnetic coil that needs to be driven to move the hardware and complete switching the circuit. For an SSR this isn't necessary (for an Arduino*) as the relay itself contains the optoisolator and doesn't have a power-hungry coil to drive.
There are two problems to be aware of with SSRs, however:
First - the reason for the asterisk above - Arduinos use 5v on the GPIO pins while ESPs use 3.3v. For the Fotek SSRs, the input voltage to switch the SSR is 4-32v DC, with "switch off" voltage being <3.5v. This means that if you drive a Fotek SSR directly off an ESP's GPIO pin, even when "high" the signal to the SSR is below the "off" threshhold. Fixing this isn't difficult -- but effectively involves manually building the same optoisolator-controlled 5v circuit that is on the Sainsmart board.
Second, SSRs by their nature produce a fair bit of heat. You'll want to make sure you have proper cooling available to ensure the SSR doesn't fail -- as well as some kind of backup control mechanism (or risk tolerance), as most SSRs typically fail closed.
I understand that the ESPs use 3.3v, as I have had to workaround this before. I have a few logic level shifters left over from a previous project. While it complicates the design a little more by essentially rebuilding the Sainsmart board, I suppose I could connect the output from your ESP32 pcb to a logic shifter to boost the voltage up to at least 5v for the SSR. What do you think? This is essentially the same as @BrewdyQuah recommendation.
Secondly, I was thinking that the SSR would not generate that much heat, given the 'relatively' small duty cycle of my refrigerator for fermenting lager/ales. Am I incorrect? These will create more heat that the Sainsmart mechanical relays? I have a 30A Auber brewing controller, so I have certainly figured out how hot an SSR (even with a heatsink) can get on a brew day, but the operation for fermentation is different than controlling a much higher power source, right? I have 3D printed your enclosure for this project, and everything fits nicely. But a traditional SSR heatsink will certainly not fit inside, nor work as it should inside the controller.
The fridge I am currently using is a True GDM10, which is rated at 5A for the first load. I suspect this is actually higher since I can see lights dim when it kicks on. Would you recommend using a different relay board instead? Something such as: Grove - SPDT Relay (30A) ?
Thanks again for your help!