Technically soil sensors should be more preferable because they sense the moisture content in the soil, so they are more accurate at telling how much water the plants need. But soil sensors are generally more complex, more expensive, less reliable and lacking common standard compared to rain sensors. While rain sensors give you a simple binary value, soil sensors usually output analog values that can be all over the place, That require calibration, and temperature compensation if you really care about accuracy.
Since OpenSprinkler’s sensor ports are digital only, it can’t read analog signals anyways, so the work-around is to use a threshold converter. Our German distributor has identified one:
basically it takes an analog input, provides an adjustable threshold, and outputs a binary signal.
Looking into the future, I’ve kept my eyes on ESP32, which has a lot more GPIO pins and analog pins. If we update OpenSprinkler hardware to use ESP32, that can open up the possibility of reading analog sensors directly.