kiwi-cam / homebridge-broadlink-rm

[This fork supports TV accessories] Broadlink RM Mini and Pro plugin for homebridge: https://github.com/nfarina/homebridge
Apache License 2.0
297 stars 96 forks source link

Can't configure AC #624

Open RobertN82 opened 1 year ago

RobertN82 commented 1 year ago

I've had my AC setup as a switch for a while but finally getting round to setting it up as an actual AC. I just can't figure out the config.

When HB boots it sets it to C instead of F, and the temp shows 0. When I turn it on the temperature ranges from 149 to 167 degrees. The log continuously pumps out:

[07/07/2023, 12:28:45] [Broadlink RM] [INFO] AC Bedroom onTemperature (-17.77777777777778)
[07/07/2023, 12:28:48] [Broadlink RM] [INFO] AC Bedroom onTemperature (-17.77777777777778)
[07/07/2023, 12:28:55] [Broadlink RM] [INFO] AC Bedroom onTemperature (-17.77777777777778)
[07/07/2023, 12:29:05] [Broadlink RM] [INFO] AC Bedroom onTemperature (-17.77777777777778)
[07/07/2023, 12:29:15] [Broadlink RM] [INFO] AC Bedroom onTemperature (-17.77777777777778)
...etc..

Config below... what am I doing wrong? 😄 Am I supposed to do something with temperatureFilePath ?

{
    "platform": "BroadlinkRM",
    "name": "Broadlink RM",
    "hideScanFrequencyButton": true,
    "hideLearnButton": false,
    "hideWelcomeMessage": true,
    "accessories": [
          {
            "name": "AC Bedroom",
            "type": "air-conditioner",
            "host": "xx:xx:xx:xx:xx:xx",
            "temperatureDisplayUnits": "F",
            "minTemperature": 65,
            "maxTemperature": 75,
            "defaultCoolTemperature": 73,
            "turnOnWhenOff": true,
            "ignoreTemperatureWhenOff": true,
            "coolOnly": true,
            "noHumidity": true,
            "tempSourceUnits": "F",
            "tempStepSize": 1,
            "data": {
                "on": "ON_HEX_CODE",
                "off": "OFF_HEX_CODE",
                "cool65": {
                    "pseudo-mode": "cool",
                    "data": "COOL_65_HEX_CODE"
                },
                "cool66": {
                    "pseudo-mode": "cool",
                    "data": "COOL_66_HEX_CODE"
                },
                "cool67": {
                    "pseudo-mode": "cool",
                    "data": "COOL_67_HEX_CODE"
                },
                "cool68": {
                    "pseudo-mode": "cool",
                    "data": "COOL_68_HEX_CODE"
                },
                "cool69": {
                    "pseudo-mode": "cool",
                    "data": "COOL_69_HEX_CODE"
                },
                "cool70": {
                    "pseudo-mode": "cool",
                    "data": "COOL_70_HEX_CODE"
                },
                "cool71": {
                    "pseudo-mode": "cool",
                    "data": "COOL_71_HEX_CODE"
                },
                "cool72": {
                    "pseudo-mode": "cool",
                    "data": "COOL_72_HEX_CODE"
                },
                "cool73": {
                    "pseudo-mode": "cool",
                    "data": "COOL_73_HEX_CODE"
                },
                "cool74": {
                    "pseudo-mode": "cool",
                    "data": "COOL_74_HEX_CODE"
                },
                "cool75": {
                    "pseudo-mode": "cool",
                    "data": "COOL_75_HEX_CODE"
                }
            }
        }
    ],
    "plugin_map": {
        "plugin_name": "homebridge-broadlink-rm4"
    }
}
kiwi-cam commented 1 year ago

What are you using as the temperature source - the Broadlink thermometer? Looks like it's pulling the temperature so no need to use temperatureFilePath.

I don't have experience configuring in Fahrenheit but I suspect you need to set the min and max temperatures in Celsius. Try using:

            "minTemperature": 18,
            "maxTemperature": 24,
RobertN82 commented 1 year ago

So after some more reading I realised that I need a temperature sensor. I managed to setup that up successfully through mqtt using the homebridge-mi-hygrothermostat and a sensor. Hooray!

It does still show the crazy temperature range from 149-168.

It also gives me this warning:

[14/07/2023, 11:30:28] [homebridge-broadlink-rm-pro] This plugin generated a warning from the characteristic 'On': Characteristic not in required or optional characteristic section for service Fanv2. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.

Is this because tempSourceUnits is set to C (the sensor only supports C) and the rest of the config is set to F?

I could set it all to C as you suggest, but then it's weird setting the hex codes as they don't quite align:

18.0    64  HEX_COOL_64
??.?    65  HEX_COOL_65
19.0    66  HEX_COOL_66
??.?    67  HEX_COOL_67
20.0    68  HEX_COOL_68
??.?    69  HEX_COOL_69
21.0    70  HEX_COOL_70
??.?    71  HEX_COOL_71
22.0    72  HEX_COOL_72
23.0    73  HEX_COOL_73
??.?    74  HEX_COOL_74
24.0    75  HEX_COOL_75
stale[bot] commented 7 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

jeremydvoss commented 2 months ago

Experiencing the same thing. Very frustrating. Seems to only work for C.