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
303 stars 96 forks source link

HomeKit AC Hardware Display Units incorrect #705

Closed JasonGoldenDDT closed 1 month ago

JasonGoldenDDT commented 4 months ago

Describe the bug

Does not reflect configured display units.

Screenshot 2024-06-03 at 8 52 00 AM

"name": "Air Con RM", "type": "air-conditioner", "host": "xx:xx:xx:xx:xx:xx", **"temperatureDisplayUnits": "F",** "defaultCoolTemperature": 15.5556, "temperatureUpdateFrequency": 900, "minTemperature": 15.5556, "maxTemperature": 30, "replaceAutoMode": "cool", "minimumAutoOnOffDuration": 100, "turnOnWhenOff": true, "preventResendHex": true, "coolOnly": true, "noHumidity": false, "noHistory": true, "monitored_conditions": [ "temperature", "humidity" ],

To Reproduce Steps to reproduce the behavior:

  1. Go to 'AC Device Settings in HomeKit, see Hardware display Units shown incorrectly as celsius. Not matching config.json in Homebridge.'

Expected behavior Would expect the "temperatureDisplayUnits" to reflect accurately in HomeKit

Screenshots Screenshot 2024-06-03 at 8 49 51 AM

Desktop (please complete the following information):

Smartphone (please complete the following information):

Additional context Latest release of Homebridge, Node, and Plugin installed.

kard8 commented 2 months ago

Have you tried deleting this line

"temperatureDisplayUnits": "F",

And changing the temperature setting in the Home App?

JasonGoldenDDT commented 2 months ago

I suspect I tried both, but to be sure I just removed the reference and restarted the plugin. It still shows celsius. Interestingly it doesn't affect the actual value displayed.

Screenshot 2024-07-25 at 10 47 22 AM Screenshot 2024-07-25 at 10 48 17 AM

And changing it in HomeKit doesn't stick.

banboobee commented 2 months ago

How about "units" instead of "temperatureDisplayUnits" ?

kard8 commented 2 months ago

Use it bare bones without any arguments and try using heater-cooler accessory type like

{
"name": "Air Con RM", 
"type": "heater-cooler", 
"host": "xx:xx:xx:xx:xx:xx", 
 "minTemperature": 15, 
"maxTemperature": 30, 
"coolOnly": true, 
"data": {
              "cool": { 
                                "HEX CODE"
                           }
}

If it Works then add on the extra options one by one. Further Documentation is here : https://broadlink.kiwicam.nz/#heatercooler

JasonGoldenDDT commented 1 month ago

Getting error with this config. LMK if I missed something.

{ "name": "Air Con RM", "type": "heater-cooler", "host": "10.0.145.12", "minTemperature": 15.5556, "maxTemperature": 30, "coolOnly": true, "data": { "off": "26004800000121931336131213121212131213111312133613121336133613121312133613361312133613121212131213121311131213361312133613361337123713361336131213000d050000000000000000000000000000", "cool": "26004800000121931336131213121212131213111312133613121336133613121312133613361312133613121212131213121311131213361312133613361337123713361336131213000d050000000000000000000000000000" } },

Screenshot 2024-08-15 at 8 47 09 AM
JasonGoldenDDT commented 1 month ago

Quick update. Since removing the device and adding it back... the issue resolved.

EDIT> It keeps reverting back... suspect it happens between Home apps that view the device.

JasonGoldenDDT commented 1 month ago

I'm experiencing issues with this plug in recently after months of stability. Not sure why.

For some reason once the Broadlink RM 4 drops below 73 degrees it stops updating Homekit... or at least appears that way.

Screenshot 2024-08-18 at 7 32 20 AM

I have automation that triggers the AC to turn off once temp drops below 73, this worked well for months and now it doesn't... not sure why.

when I observe the accessory via Homebridge I see the temp drop below 73, but it doesn't reflect in HomeKit. But when the temp starts to rise the it does reflect in HomeKit quickly.

I'm also still seeing the Display Units reflected in C in stead of F and I'm wondering if it matters if its "f" or "F." IN Homebridge in the accessory details it shows as "0" for both the Broadlink Temp sensor and the AC accessory for the Broadlink IR.

Screenshot 2024-08-18 at 7 27 57 AM

{ "name": "Broadlink Temperature", "type": "temperatureSensor", "disabled": false, "host": "10.0.145.12", "temperatureUnits": "F", "humidityUpdateFrequency": 300, "logLevel": "warning" }, { "name": "Air Con RM", "type": "air-conditioner", "disabled": false, "host": "10.0.145.12", "defaultCoolTemperature": 15.5556, "minTemperature": 15.5556, "maxTemperature": 30, "temperatureUnits": "F", "replaceAutoMode": "cool", "minimumAutoOnOffDuration": 100, "turnOnWhenOff": true, "preventResendHex": true, "coolOnly": true, "noHumidity": false, "noHistory": false, "logLevel": "warning", "monitored_conditions": [ "temperature", "humidity" ], "data": { "off": "26004800000121931336131213121212131213111312133613121336133613121312133613361312133613121212131213121311131213361312133613361337123713361336131213000d050000000000000000000000000000", "on": [ { "data": "26004800000121931336131213121212131213111312133613121336133613121312133613361312133613121212131213121311131213361312133613361337123713361336131213000d050000000000000000000000000000", "pause": 0.5 }, { "data": "2600480000011f951237121312121114111411131114113812131138123810141213123711391113113811391113113911381114101411391113111411381114111410391138121311000d050000000000000000000000000000" } ], "cool15.5556": { "pseudo-mode": "cool", "data": "260058000001209411371313111411141014121311141138121211391237111411131238113812131014113911131138111411141114113811381213113811141039113812371114110005700001244d12000c4a0001264b11000d050000000000000000000000000000", "sendCount": 2, "interval": 0.5 } } },

JasonGoldenDDT commented 1 month ago

Continuing to troubleshoot this odd behavior. It seems like the setting reverts when the Home app is restarted, either on iOS or macOS.

The change in the home app is reflected on the Accessory detail in Homebridge... and I can see the setting revert back to "0" when the home app restarts.

using "1" or "f" in the config file for temperatureUnits doesn't do anything.

JasonGoldenDDT commented 1 month ago

How about "units" instead of "temperatureDisplayUnits" ?

I've tried all of the variations mentioned in the threads I've found. No resolution. I'm also noticing this issue on iOS public beta 5.