Support for mini-relay has been discontinued (in both hardware and software) since earlier this year. If you want to use a relay with OpenSprinkler you can wire a 24VAC relay just like a standard sprinkler valve (see the blog post below about available 24VAC relay options)
The unified firmware is written in C++ to maintain maximal compatibility with the microcontroller-based OpenSprinkler. If you are familiar with C/C++ I think it’s not too difficult to go through the code and find out where to add additional code. For example, if you want to add an additional sensor, you can follow how rain sensor is implemented as an example. We should probably document this somewhere, but the source code is basically partitioned as follows:
– defines.h: global macro defines, options, GPIO pin definitions
– OpenSprinkler.h/.cpp: functions / data structures that are relevant to the basic / low-level operations, such as loading/saving options, station attributes, controller status variables
– main.cpp: this is where the main loop is defined, which is in charge of scheduling of sprinkler stations, handling of log, time keeping and so on.
– weather.h/.cpp: initiate weather queries and handling query results
– program.h/.cpp: data structure for sprinkler programs.