luc-ass / homebridge-evohome

Homebridge plugin for Honeywell Evohome
29 stars 16 forks source link

Thermostats are showing up in Humidity sensors #130

Open djsomi opened 2 years ago

djsomi commented 2 years ago

Hi All,

Recently I've discovered that, thermostats are popping up in the humidity category, with 0%. Anyone else experienced this?

This is an image

luc-ass commented 2 years ago

Interesting. What App is that?

5xPa commented 2 years ago

I have just notice the same thing humidity icon next to temperature icon. If I click on the humidity icon brings up the temperature adjust page This only happens on iPhone running ios16 the app is apple HomeKit app On iPad which runs iOS 15 the humidity icon does not show

luc-ass commented 1 year ago

Okay, I have found the page you are referring to. The behaviour is correct, as being a thermostat now implies that you can measure humidity as well. I have not found a way to disable it as of now. Any ideas?

luc-ass commented 1 year ago

I dug a little deeper:

HAP-NodeJS defines a Thermostat the following way:

/**
 * Service "Thermostat"
 */
export class Thermostat extends Service {

  public static readonly UUID: string = "0000004A-0000-1000-8000-0026BB765291";

  constructor(displayName?: string, subtype?: string) {
    super(displayName, Thermostat.UUID, subtype);

    // Required Characteristics
    this.addCharacteristic(Characteristic.CurrentHeatingCoolingState);
    this.addCharacteristic(Characteristic.TargetHeatingCoolingState);
    this.addCharacteristic(Characteristic.CurrentTemperature);
    this.addCharacteristic(Characteristic.TargetTemperature);
    this.addCharacteristic(Characteristic.TemperatureDisplayUnits);

    // Optional Characteristics
    this.addOptionalCharacteristic(Characteristic.Name);
    this.addOptionalCharacteristic(Characteristic.CurrentRelativeHumidity);
    this.addOptionalCharacteristic(Characteristic.TargetRelativeHumidity);
    this.addOptionalCharacteristic(Characteristic.CoolingThresholdTemperature);
    this.addOptionalCharacteristic(Characteristic.HeatingThresholdTemperature);
  }
}
Service.Thermostat = Thermostat;

../homebridge-evohome/index.js contains the following:

    // this.addOptionalCharacteristic(Characteristic.CurrentRelativeHumidity);
    // this.addOptionalCharacteristic(Characteristic.TargetRelativeHumidity);

Looks like I have disabled humidity already. Perhaps HomeKit simply groups the accessories by what it expects them to show, not what they actually emit. I'm affright, there is no simple fix for this as of now.

@djsomi @5xPa does this cause you any problems, or is it just an aesthetic thing?