steilerDev / homebridge-openhab2-complete

A homebridge plugin for openHAB, that has the expectation to fully support all Services offered by Apple's Homekit Accessory Protocol (HAP)
GNU General Public License v3.0
52 stars 16 forks source link

HeaterCooler Accessory: Cooler only = No Response in Home App #81

Closed Matsuo3rd closed 3 years ago

Matsuo3rd commented 4 years ago

Describe the bug Using Heater/Cooler accessory with settings reflecting a "Cooler only" setup is showing "No Response" for the accessory in iOS Home App. Adding dummy Heating settings makes the trick. However, it does not meet my expectations for a "Cooler only" device. My setup is actually a controlled Fan + temperature sensor (both Zwave) that I want to merge in a single accessory.

Expected behavior Looking at the documentation https://github.com/steilerDev/homebridge-openhab2-complete#heatercooler, it looks like one can define a Cooling-only (or Heating-only) setup by omitting heatingItem/heatingThresholdTempItem/modeItem.

Configurations Using openHAB 2.5 / node v12.16.3 / homebridge v1.0.4 / openHAB2-Complete 1.1.0

Not-working config.json snippet:

{
            "type": "heatercooler",
            "items": [
            {
                "name": "Ventilation Placard IT",
                "currentTempItem": "itlocker_temperature",
                "item": "itlocker_cooler_switch",
                "coolingItem": "itlocker_fan_switch",
                "coolingThresholdTempItem": "itlocker_cooling_temp",
                "rotationSpeedItem": "itlocker_fan_speed",
                "tempUnit": "Celsius"
            }]
        }

Working config.json snippet:

{
            "type": "heatercooler",
            "items": [
            {
               "name": "Ventilation Placard IT",
                "currentTempItem": "itlocker_temperature",
                "item": "itlocker_cooler_switch",
                "heatingItem": "itlocker_heat_switch",
                "coolingItem": "itlocker_fan_switch",
                "modeItem": "itlocker_cooler_mode",
                "heatingThresholdTempItem": "itlocker_heating_temp",
                "coolingThresholdTempItem": "itlocker_cooling_temp",
                "rotationSpeedItem": "itlocker_fan_speed",
                "tempUnit": "Celsius"
            }]
        }
slydlake commented 4 years ago

Thanks @Matsuo3rd !!! I thought I go mad with this! Looking for 2 weeks for a solution.

With your config, now this works for me too. Seems to be a little bug, because the readme is saying that the heatItem etc. is optional 😉

steilerDev commented 3 years ago

Hi All, I have just found the bug causing this (bloody bind statements in nodejs). You should be able to remove the dummy with the next release (1.1.1), which will also remove the option to select an heating mode when there is only a cooling item (See current wip on the master branch's readme for the thermostat, i'll replicate that for the heater/cooler).

steilerDev commented 3 years ago

Fixed with 1.3.0