Open 1HyperZ opened 1 year ago
we need detail informations to locate your issue. ac device will create 3 accessory because homekit ac only support cold/hot/auto mode, while most user's ac have wind/dehumidifier mode. so there's additional fan and dehumidifier accessory.
IR AC state sync feature will be added when I'm free.
hi, thanks but what detail can i give you? about the second thing so it would be nice if there will be an option to remove the other 2.
@1HyperZ I separated the accessories on HomeKit.
IR AC state sync feature would be a nice to have! :)
IR AC state sync is added in #261. is it working?
It is losing state when I restart HomeBridge server.
@felipehjcosta ok, I will check later.
@felipehjcosta do you have any logs starting with "Get infrared ac status failed:"? if not, please send all api logs during plugin init. you can send to my email if there's too many private infos to removed.
Data response of /v1.0/homes/${ID}/devices
{
"active_time": 1674995771,
"biz_type": 0,
"category": "hwktwkq",
"create_time":,
"icon": "smart/icon/ay1503986080106Gppjy/6aed44783b5f88c2bacf5f1dbeec8089.png",
"id": "",
"ip": "",
"lat": "",
"local_key": "",
"lon": "",
"model": "NAS-RT01W6",
"name": "Smart AC Controller",
"online": true,
"owner_id": "",
"product_id": "fnc1jft20tlgnxdj",
"product_name": "Smart AC Controller",
"status": [
{
"code": "infared_switch",
"value": false
},
{
"code": "temp_current",
"value": 262
},
{
"code": "target_temp",
"value": 23
},
{
"code": "mode",
"value": "cold"
},
{
"code": "fan_level",
"value": "auto"
},
{
"code": "fault",
"value": 0
},
{
"code": "filter_reset",
"value": false
},
{
"code": "filter_life",
"value": 720
},
{
"code": "upper_temp",
"value": 25
},
{
"code": "lower_temp",
"value": 17
},
{
"code": "temp_unit_convert",
"value": "c"
},
{
"code": "humidity_current",
"value": 60
},
{
"code": "work_type",
"value": "scene_1"
},
{
"code": "status",
"value": "done"
},
{
"code": "first_enter",
"value": false
},
{
"code": "runtime",
"value": 0
},
{
"code": "internet_disc_switch",
"value": false
},
{
"code": "runtime_total_reset",
"value": false
},
{
"code": "child_lock",
"value": false
},
{
"code": "ir_send",
"value": "{\"ver\":\"3\",\"control\":\"irlib_download\",\"sub_ctrl\":2,\"dl_percent\":100,\"devid\":\"eb5636d9505928c769bt1u\",\"range\":1818092383}"
},
{
"code": "ir_study_code",
"value": ""
}
],
"sub": false,
"time_zone": "-03:00",
"uid": "",
"update_time":,
"uuid": ""
}
path = /v2.0/infrareds/ebdd420f9e59fec898uipx/remotes
data = {
"result": [
{
"area_id": 0,
"brand_id": 182,
"brand_name": "Midea",
"category_id": 5,
"operator_id": 0,
"remote_id": "eb5636d9505928c769bt1u",
"remote_index": 11272,
"remote_name": "Air"
}
],
"success": true,
"t":,
"tid": ""
}
path = /v2.0/infrareds/ebdd420f9e59fec898uipx/remotes/eb5636d9505928c769bt1u/keys
data = {
"result": {
"brand_id": 182,
"category_id": 5,
"duplicate_power": false,
"key_list": [
{
"key": "F",
"key_id": 0,
"key_name": "fan speed",
"standard_key": true
},
{
"key": "M",
"key_id": 0,
"key_name": "mode",
"standard_key": true
},
{
"key": "PowerOff",
"key_id": 0,
"key_name": "power off",
"standard_key": true
},
{
"key": "PowerOn",
"key_id": 0,
"key_name": "power on",
"standard_key": true
},
{
"key": "T",
"key_id": 0,
"key_name": "temperature",
"standard_key": true
}
],
"key_range": [
{
"mode": 0,
"mode_name": "mode cool",
"temp_list": [
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 17,
"temp_name": "temperture 17"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 18,
"temp_name": "temperture 18"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 19,
"temp_name": "temperture 19"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 20,
"temp_name": "temperture 20"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 21,
"temp_name": "temperture 21"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 22,
"temp_name": "temperture 22"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 23,
"temp_name": "temperture 23"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 24,
"temp_name": "temperture 24"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 25,
"temp_name": "temperture 25"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 26,
"temp_name": "temperture 26"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 27,
"temp_name": "temperture 27"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 28,
"temp_name": "temperture 28"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 29,
"temp_name": "temperture 29"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 30,
"temp_name": "temperture 30"
}
]
},
{
"mode": 1,
"mode_name": "mode heat",
"temp_list": [
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 17,
"temp_name": "temperture 17"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 18,
"temp_name": "temperture 18"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 19,
"temp_name": "temperture 19"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 20,
"temp_name": "temperture 20"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 21,
"temp_name": "temperture 21"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 22,
"temp_name": "temperture 22"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 23,
"temp_name": "temperture 23"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 24,
"temp_name": "temperture 24"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 25,
"temp_name": "temperture 25"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 26,
"temp_name": "temperture 26"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 27,
"temp_name": "temperture 27"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 28,
"temp_name": "temperture 28"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 29,
"temp_name": "temperture 29"
},
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp": 30,
"temp_name": "temperture 30"
}
]
},
{
"mode": 2,
"mode_name": "mode auto",
"temp_list": [
{
"fan_list": [],
"temp": 17,
"temp_name": "temperture 17"
},
{
"fan_list": [],
"temp": 18,
"temp_name": "temperture 18"
},
{
"fan_list": [],
"temp": 19,
"temp_name": "temperture 19"
},
{
"fan_list": [],
"temp": 20,
"temp_name": "temperture 20"
},
{
"fan_list": [],
"temp": 21,
"temp_name": "temperture 21"
},
{
"fan_list": [],
"temp": 22,
"temp_name": "temperture 22"
},
{
"fan_list": [],
"temp": 23,
"temp_name": "temperture 23"
},
{
"fan_list": [],
"temp": 24,
"temp_name": "temperture 24"
},
{
"fan_list": [],
"temp": 25,
"temp_name": "temperture 25"
},
{
"fan_list": [],
"temp": 26,
"temp_name": "temperture 26"
},
{
"fan_list": [],
"temp": 27,
"temp_name": "temperture 27"
},
{
"fan_list": [],
"temp": 28,
"temp_name": "temperture 28"
},
{
"fan_list": [],
"temp": 29,
"temp_name": "temperture 29"
},
{
"fan_list": [],
"temp": 30,
"temp_name": "temperture 30"
}
]
},
{
"mode": 3,
"mode_name": "mode fan",
"temp_list": [
{
"fan_list": [
{
"fan": 2,
"fan_name": "speed middle"
},
{
"fan": 0,
"fan_name": "speed auto"
},
{
"fan": 1,
"fan_name": "speed low"
},
{
"fan": 3,
"fan_name": "speed high"
}
],
"temp_name": "null"
}
]
},
{
"mode": 4,
"mode_name": "mode dry",
"temp_list": [
{
"fan_list": [],
"temp": 17,
"temp_name": "temperture 17"
},
{
"fan_list": [],
"temp": 18,
"temp_name": "temperture 18"
},
{
"fan_list": [],
"temp": 19,
"temp_name": "temperture 19"
},
{
"fan_list": [],
"temp": 20,
"temp_name": "temperture 20"
},
{
"fan_list": [],
"temp": 21,
"temp_name": "temperture 21"
},
{
"fan_list": [],
"temp": 22,
"temp_name": "temperture 22"
},
{
"fan_list": [],
"temp": 23,
"temp_name": "temperture 23"
},
{
"fan_list": [],
"temp": 24,
"temp_name": "temperture 24"
},
{
"fan_list": [],
"temp": 25,
"temp_name": "temperture 25"
},
{
"fan_list": [],
"temp": 26,
"temp_name": "temperture 26"
},
{
"fan_list": [],
"temp": 27,
"temp_name": "temperture 27"
},
{
"fan_list": [],
"temp": 28,
"temp_name": "temperture 28"
},
{
"fan_list": [],
"temp": 29,
"temp_name": "temperture 29"
},
{
"fan_list": [],
"temp": 30,
"temp_name": "temperture 30"
}
]
}
],
"remote_index": 11272,
"single_air": false
},
"success": true,
"t":,
"tid": ""
}
path = /v1.0/devices/ebdd420f9e59fec898uipx/specifications
data = {
"result": {
"category": "hwktwkq",
"functions": [
{
"code": "infared_switch",
"type": "Boolean",
"values": "{}"
},
{
"code": "target_temp",
"type": "Integer",
"values": "{\"unit\":\"℃\",\"min\":16,\"max\":30,\"scale\":0,\"step\":1}"
},
{
"code": "mode",
"type": "Enum",
"values": "{\"range\":[\"cold\",\"warm\",\"auto\",\"air\",\"dehumidify\"]}"
},
{
"code": "fan_level",
"type": "Enum",
"values": "{\"range\":[\"auto\",\"low\",\"middle\",\"high\"]}"
},
{
"code": "filter_reset",
"type": "Boolean",
"values": "{}"
},
{
"code": "upper_temp",
"type": "Integer",
"values": "{\"unit\":\"℃\",\"min\":16,\"max\":30,\"scale\":0,\"step\":1}"
},
{
"code": "lower_temp",
"type": "Integer",
"values": "{\"unit\":\"℃\",\"min\":16,\"max\":30,\"scale\":0,\"step\":1}"
},
{
"code": "temp_unit_convert",
"type": "Enum",
"values": "{\"range\":[\"c\",\"f\"]}"
},
{
"code": "work_type",
"type": "Enum",
"values": "{\"range\":[\"scene_1\",\"scene_2\",\"scene_3\"]}"
},
{
"code": "status",
"type": "Enum",
"values": "{\"range\":[\"done\",\"run\",\"idle\"]}"
},
{
"code": "first_enter",
"type": "Boolean",
"values": "{}"
},
{
"code": "internet_disc_switch",
"type": "Boolean",
"values": "{}"
},
{
"code": "runtime_total_reset",
"type": "Boolean",
"values": "{}"
},
{
"code": "child_lock",
"type": "Boolean",
"values": "{}"
},
{
"code": "ir_send",
"type": "String",
"values": "{\"maxlen\":3072}"
}
],
"status": [
{
"code": "infared_switch",
"type": "Boolean",
"values": "{}"
},
{
"code": "temp_current",
"type": "Integer",
"values": "{\"unit\":\"℃\",\"min\":-200,\"max\":1000,\"scale\":1,\"step\":1}"
},
{
"code": "target_temp",
"type": "Integer",
"values": "{\"unit\":\"℃\",\"min\":16,\"max\":30,\"scale\":0,\"step\":1}"
},
{
"code": "mode",
"type": "Enum",
"values": "{\"range\":[\"cold\",\"warm\",\"auto\",\"air\",\"dehumidify\"]}"
},
{
"code": "fan_level",
"type": "Enum",
"values": "{\"range\":[\"auto\",\"low\",\"middle\",\"high\"]}"
},
{
"code": "fault",
"type": "Bitmap",
"values": "{\"label\":[\"serious_fault\",\"sensor_fault\"],\"maxlen\":2}"
},
{
"code": "filter_reset",
"type": "Boolean",
"values": "{}"
},
{
"code": "filter_life",
"type": "Integer",
"values": "{\"unit\":\"h\",\"min\":0,\"max\":720,\"scale\":0,\"step\":1}"
},
{
"code": "upper_temp",
"type": "Integer",
"values": "{\"unit\":\"℃\",\"min\":16,\"max\":30,\"scale\":0,\"step\":1}"
},
{
"code": "lower_temp",
"type": "Integer",
"values": "{\"unit\":\"℃\",\"min\":16,\"max\":30,\"scale\":0,\"step\":1}"
},
{
"code": "temp_unit_convert",
"type": "Enum",
"values": "{\"range\":[\"c\",\"f\"]}"
},
{
"code": "humidity_current",
"type": "Integer",
"values": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}"
},
{
"code": "work_type",
"type": "Enum",
"values": "{\"range\":[\"scene_1\",\"scene_2\",\"scene_3\"]}"
},
{
"code": "status",
"type": "Enum",
"values": "{\"range\":[\"done\",\"run\",\"idle\"]}"
},
{
"code": "first_enter",
"type": "Boolean",
"values": "{}"
},
{
"code": "runtime",
"type": "Integer",
"values": "{\"unit\":\"h\",\"min\":0,\"max\":999999,\"scale\":0,\"step\":1}"
},
{
"code": "internet_disc_switch",
"type": "Boolean",
"values": "{}"
},
{
"code": "runtime_total_reset",
"type": "Boolean",
"values": "{}"
},
{
"code": "child_lock",
"type": "Boolean",
"values": "{}"
},
{
"code": "ir_send",
"type": "String",
"values": "{\"maxlen\":3072}"
},
{
"code": "ir_study_code",
"type": "Raw",
"values": "{}"
}
]
},
"success": true,
"t":,
"tid": ""
}
topic = cloud/token/in/${ID}
protocol = 4
message = {
"dataId": "",
"devId": "ebdd420f9e59fec898uipx",
"productKey": "",
"status": [
{
"2": 265,
"code": "temp_current",
"t": "1682449285",
"value": 265
}
]
}
t =
path = /v2.0/infrareds/ebdd420f9e59fec898uipx/remotes/eb5636d9505928c769bt1u/ac/status
data = {
"result": {
"mode": "0",
"power": "0",
"temp": "10",
"wind": "0"
},
"success": true,
"t": 1682449107684,
"tid": ""
}
@0x5e
I don't have any logs starting with "Get infrared ac status failed:". However, The issue seems to be the **/ac/status/
request for me:
@felipehjcosta you are right, /v2.0/infrareds/*/remotes/*/ac/status
return the false value. I can't help with cloud issue, you can submit the ticket on tuya website.
If homebridge display the same value with the api response, I assume the ac status sync feature on plugin side is working now.
I will submit a ticket on Tuya website.
In the meantime, the commit https://github.com/0x5e/homebridge-tuya-platform/commit/d08c7c00fdcd198e5f339710d3c8436ccb262c10 improved the accessory experience on Home App! :)
Describe the bug The plugin cannot control the tuya ir ac devices it just doesnt send the signal also it adds in homekit 2 additional accessories that i think are not necessary Expected behavior when i turn on in the homeapp the ac would turn on like when i do from the tuya app and also the tuya ir plugin on homebrtidge Screenshots If applicable, add screenshots to help explain your problem.
Device info If the issue is related to a device, please provide the device info list and debug logs.