In this study we extend our system we developed for the PhysioNet Computing in Cardiology Challenge 2018 so that it detects apnoea and non-apnoea arousals and thus greatly increase its clinical utility. Our system automatically processes the polysomnogram (PSG) by dividing the signals into 15 second epochs and calculates 59 time- and frequency-domain features for each epoch. Features from adjacent 4 epochs were combined and processed with a bank of ten feed-forward neural networks each with a single hidden layer of 20 units. The system outputs a 200 Hz annotation signal containing probability estimates that each sample was associated with an apnoea or non-apnoea arousal, or no-arousal. Data from the Physionet Computing in Cardiology Challenge 2018 was used to develop and test the system. Performance of the system was assessed using 10-fold cross validation on the 994 PSG recordings of the Challenge training data using three class and two class performance metrics. With the system classifying three classes, the volume under the receiver operator characteristic (ROC) surface was 0.74 with an optimal specificity of 0.67, a sensitivity of 0.77 for the apnoea arousals, and a sensitivity of 0.73 for the non-apnoea arousals. The area under the precision-recall curve (AUPRC) for the two arousal classes was 0.81 and 0.17 respectively. Our results show that apnoea arousals can be detected with higher reliability that the non-apnoea arousals. When the two arousal classes were combined into one arousal class, our system achieved very good performance results. The AUPRC was 0.78, the area under the ROC curve was 0.93, with an optimal specificity and sensitivity of 0.85.