This sounds like a great project, although this exact setup limits your options somewhat. Supervised machine learning approaches are effectively ruled out because you don't have the necessary training data to develop a model (i.e. the dependent variable: whether it is raining or not). You could look at accessing similar data (from what source depends on your geographical location) that includes precipitation information, and attempt to train a model based on that, before applying it to your own data to 'predict' the current conditions.
If you want a model to determine whether it's raining or not (rather than attempting to define the type, rate or other characteristics of precipitation) then you need a binary classification model. If you can get the data to train a supervised model, there are many such models available. Which one to choose depends on a number of factors – enough factors that it is as much an art as a science (and often the best way to choose is just to try several and pick the best one). XGBoost is a popular choice for a wide range of problems, including binary classification. State Vector Classifiers (SVCs, a subtype of State Vector Machine, SVM) are also common. Of course there are neural networks also. Depending on how the dependent variable correlates with the independent ones, you may find a simpler model to be more effective. If you choose to try a neural network, I suggest keeping it simple and starting with a Multi-Layer Perceptron (MLP).
Alternatively, you could try an unsupervised approach, which commonly takes the form of clustering. In this instance, you would look to try clustering algorithms, such as DBSCAN, to see if the independent variables naturally form groups (clusters) which differentiate between when it is raining or not. Of course you can cluster the data using an unsupervised model, but you would still need to then correlate that with rainfall in order to make sense of the model.
There are a number of challenges you may need overcome. For example, depending on the frequency with which the data is sampled and stored, you may need to downsample it to a manageable size. Presumably you also have the time at which the data was collected. If not, you would also need to make use of the brightness sensor to differentiate between night and day, which may confound or over-power any cooling effect from rainfall. (You could look at clustering the data, based on temperature and brightness, in order to create a new feature which indicates night and day.)
To summarise, there are numerous approaches you could take, all of which will, at some point, require data on whether it is/was raining or not in order to train a model. If you have suitably localised weather data available, you may be able to train a model using that, synchronised via time and/or the other data you'll be collecting. The problem, as stated, is a binary classification one (as opposed to a time series prediction one, i.e. weather forecasting, for example). So look into classification and clustering models for supervised and unsupervised machine learning respectively. Scikit Learn for python or Caret for R are commonly used packages for the types of models I've described.