Faulty heat pump system operating can cause excessive energy consumption and an uncomfortable indoor environment. Data-driven method is one of the most widely studied Fault Detection and Diagnosis (FDD) methods in building heat pump systems. However, the fault data is difficult to collect and label, which makes it a significant challenge to apply a data-driven method. Therefore, a novel semi-supervised FDD method that could utilize small labelled and unlabelled fault data was proposed, considering unknown fault detection in unlabelled data. The fundamental model consisted of four parts: encoder, double discriminators, generator, and bagging classifiers, and all networks were integrated to train simultaneously. Additionally, batch nuclear-norm maximization and pseudo-label were utilized to improve the model. The proposed method could realize data augmentation, pseudo-label utilization, and FDD in one end-to-end model. Normal and fault data were collected from a variable refrigerant flow heat pump system to verify this method. The proposed method was compared with several methods in previous studies. The performance indexes showed that the proposed method had averaged 65.56%, 75.50%, 82.25%, 83.30%, and 86.26% overall accuracy under each training labelled group, respectively. The unlabelled data could improve the model effectively, and the averaged detection rate of unknown fault could reach 98.00%, 98.82%, 98.88%, 98.66%, 98.94%, and 98.82%, respectively, under different numbers of unlabelled data. Additionally, the analysis of unknown fault diagnosis results indicated that faults with different severities had similar operating characteristics.