Weird my virtual thermostat does not show a fan in the apple app. If you are using Node-red you could use node-red-contrib-homekit-bridged. Here is a example of a heat only thermostat.
[{"id":"c93a42762b0e2efc","type":"tab","label":"Flow 3","disabled":false,"info":"","env":[]},{"id":"120a8ce.c6a3373","type":"debug","z":"c93a42762b0e2efc","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":410,"y":80,"wires":[]},{"id":"f50c12fc.0eeeb","type":"homekit-service","z":"c93a42762b0e2efc","isParent":true,"hostType":"0","bridge":"5f9ae15e9465320b","accessoryId":"","parentService":"","name":"Heating Thermostat","serviceName":"Thermostat","topic":"","filter":false,"manufacturer":"Default Manufacturer","model":"Default Model","serialNo":"Default Serial Number","firmwareRev":"","hardwareRev":"","softwareRev":"","cameraConfigVideoProcessor":"","cameraConfigSource":"","cameraConfigStillImageSource":"","cameraConfigMaxStreams":"","cameraConfigMaxWidth":"","cameraConfigMaxHeight":"","cameraConfigMaxFPS":"","cameraConfigMaxBitrate":"","cameraConfigVideoCodec":"","cameraConfigAudioCodec":"","cameraConfigAudio":false,"cameraConfigPacketSize":"","cameraConfigVerticalFlip":false,"cameraConfigHorizontalFlip":false,"cameraConfigMapVideo":"","cameraConfigMapAudio":"","cameraConfigVideoFilter":"","cameraConfigAdditionalCommandLine":"","cameraConfigDebug":false,"cameraConfigInterfaceName":"","characteristicProperties":"{\"TargetHeatingCoolingState\":{\"validValues\":[0,1]},\"CurrentHeatingCoolingState\":{\"validValues\":[0,1]}}","waitForSetupMsg":false,"outputs":2,"x":170,"y":80,"wires":[["120a8ce.c6a3373"],[]]},{"id":"5f9ae15e9465320b","type":"homekit-bridge","bridgeName":"RPI3 Node-Red","pinCode":"228-28-676","port":"","advertiser":"bonjour-hap","allowInsecureRequest":false,"manufacturer":"NRCHKB","model":"1.4.3","serialNo":"Default Serial Number","firmwareRev":"1.4.3","hardwareRev":"1.4.3","softwareRev":"1.4.3","customMdnsConfig":false,"mdnsMulticast":true,"mdnsInterface":"","mdnsPort":"","mdnsIp":"","mdnsTtl":"","mdnsLoopback":true,"mdnsReuseAddr":true,"allowMessagePassthrough":true}]