Timed event Question

I am not sure how to approach this - I have a day/time cycle and the 24 hours cycle is a variable - in my case, 30 minutes; That means night takes 15 minutes, day - 15 minutes. Now, I want to activate a rain gameobject at night but with a random value; say, it rains at night only but every other 2 or 3 “days”.

Any ideas on how to/where to start with this? Thanks in advance!

Not that this code will work as it is WUCC but this is the logic I would use.

int rainFreeNights ;
int nightCount = 0;
bool itIsDayTime;
void SetRainFreeNights(){
 rainFreeNights = Random.Range(0,3);
}
IEnumartor MakeItRain(){
 
    while(itIsDayTime) yield return null;
    if(nightCount == rainFreeNights){
       SetRainFreeNights();
       nightCount =0;
      RainGameObject.SetActive(true);
    }else{
        nightCount++
    }
while(!itIsDayTime) yield return null;
}

using UnityEngine;
using System.Collections;

public class TimeOfDay : MonoBehaviour {

public float time = 0.5f;

void Update () {
	this.transform.Rotate (Vector3.right * time * Time.smoothDeltaTime);
}

}