arachnetech / homebridge-mqttthing

A plugin for Homebridge allowing the integration of many different accessory types using MQTT.
Apache License 2.0
462 stars 104 forks source link

Not Recognizing heatingCoolingStateValues in thermostat accessory #504

Closed MileRock closed 2 years ago

MileRock commented 2 years ago

Good Day! Thanks to you all for an awesome open source tool! I have successfully deployed Homebridge, with some simple accessories (doorbell, temperatureSensors, switch and thermostat). However, I am unable to get Homebridge or HomeKit to recognize non-standard values of heatingCoolingStateValues in the thermostat accessory. When I set the non-standard values by an array of strings (as shown below), it still shows me the standard values of ["OFF", "AUTO", "HEAT", "COOL"]. I have restarted after making the changes. Am I doing something incorrect or is this an issue?

My thermostat JSON config is below, and I am currently using the following: Homebridge v1.3.8, Node.js v14.16.0, and NPM v6.14.11. I see no errors in the terminal on the Homebridge Status page.

Thank you for your time!!

{
    "type": "thermostat",
    "name": "_HOSTNAME_",
    "url": "_IP ADDRESS_",
    "username": "_USER_",
    "password": "_PASSWORD_",
    "heatingCoolingStateValues": [
        "OFF",
        "AUTO",
        "SCHEDULE",
        "FAN",
        "HEAT"
     ],
    "topics": {
        "getCurrentHeatingCoolingState": "HVAC/current_state",
        "getCurrentTemperature": "temperature/living",
        "getTargetHeatingCoolingState": "HVAC/get_target",
        "setTargetHeatingCoolingState": "HVAC/set_target",
        "getTargetTemperature": "HVAC/get_temp",
        "setTargetTemperature": "HVAC/set_temp"
    },
    "accessory": "mqttthing"
}
rbswift commented 2 years ago

heatingCoolingStateValues should be an array of 4 (not 5) values to be used to represent Off, Heat, Cool and Auto respectively

MileRock commented 2 years ago

Ok. Thanks for that info! I updated the JSON as follows:

"heatingCoolingStateValues": [
                "OFF",
                "HEAT",
                "FAN",
                "AUTO"
            ]

However, it is still only showing me the "OFF", "HEAT", "COOL", and "AUTO" options. Though I do note, that now the accessory is sending "FAN" as the MQTT message to topic "HVAC/get_target". What I am thinking, is that there is no way to edit the UI for the thermostat accessory (i.e. so I can see the "FAN" option in HomeKit)?

rbswift commented 2 years ago

This setting does not change what you see in the Home app. That's fixed by Apple and not able to be changed. This setting only changes the MQTT side.

MileRock commented 2 years ago

Understood. Thanks @rbswift for the prompt and helpful replies!