Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Device request]: Maxicool/Mitshubishi split unit Airco #194

Open
Sanderbakker1 opened this issue Sep 3, 2024 · 10 comments · Fixed by #296
Open

[Device request]: Maxicool/Mitshubishi split unit Airco #194

Sanderbakker1 opened this issue Sep 3, 2024 · 10 comments · Fixed by #296
Labels
confirmed Indicates that there is an issue which has been confirmed device request Indicates a device request in progress Is already being worked on
Milestone

Comments

@Sanderbakker1
Copy link

Sanderbakker1 commented Sep 3, 2024

Device information

I have 3 air conditioning units that I currently control with an IR device through Tuya. I now control them via the community app using RAW commands. The IR device is equipped with a temperature sensor and humidity sensor. Everything works perfectly. Can this also be done in the official app?
Link to device:
https://nl.aliexpress.com/item/1005001883877637.html

Don't know exactly which data you need so i added everything ;)

Device specification

mitsubishi airco

{
  "device": {
    "active_time": 1674301727,
    "biz_type": 0,
    "category": "infrared_ac",
    "create_time": 1674301727,
    "icon": "smart/icon/001453365846342fhj9e/11c62df7bd89c10f43d3e5ee8d13b4f4.png",
    "id": "bf887f6dfd6548e827jxne",
    "ip": "",
    "lat": "",
    "local_key": "",
    "lon": "",
    "model": "",
    "name": "Airco Esmee",
    "node_id": "a67237deab40c8c6",
    "online": true,
    "owner_id": "",
    "product_id": "qzktzhehinzsz2je",
    "product_name": "Air Conditioning",
    "sub": true,
    "time_zone": "+01:00",
    "uid": "",
    "update_time": 1725268958,
    "uuid": "",
    "status": []
  },
  "specifications": {
    "category": "infrared_ac",
    "functions": [
      {
        "code": "F",
        "type": "ENUM",
        "values": "{\"min\":0,\"max\":3,\"scale\":0,\"step\":1,\"type\":\"Integer\"}"
      },
      {
        "code": "M",
        "type": "ENUM",
        "values": "{\"min\":0,\"max\":4,\"scale\":0,\"step\":1,\"type\":\"Integer\"}"
      },
      {
        "code": "PowerOff",
        "type": "STRING",
        "values": "PowerOff"
      },
      {
        "code": "PowerOn",
        "type": "STRING",
        "values": "PowerOn"
      },
      {
        "code": "T",
        "type": "ENUM",
        "values": "{\"min\":16,\"max\":30,\"scale\":0,\"step\":1,\"type\":\"Integer\"}"
      }
    ],
    "status": [
      {
        "code": "wind",
        "type": "ENUM",
        "values": "{\"min\":0,\"max\":3,\"scale\":0,\"step\":1,\"type\":\"Integer\"}"
      },
      {
        "code": "mode",
        "type": "ENUM",
        "values": "{\"min\":0,\"max\":4,\"scale\":0,\"step\":1,\"type\":\"Integer\"}"
      },
      {
        "code": "power",
        "type": "BOOLEAN",
        "values": "{}"
      },
      {
        "code": "temp",
        "type": "ENUM",
        "values": "{\"min\":16,\"max\":30,\"scale\":0,\"step\":1,\"type\":\"Integer\"}"
      }
    ]
  },
  "data_points": [
    {
      "code": "control",
      "custom_name": "",
      "dp_id": 1,
      "time": 1674301727766,
      "type": "enum",
      "value": "send_ir"
    },
    {
      "code": "study_code",
      "custom_name": "",
      "dp_id": 2,
      "time": 1674301727766,
      "type": "raw"
    },
    {
      "code": "ir_code",
      "custom_name": "",
      "dp_id": 3,
      "time": 1674301727766,
      "type": "string",
      "value": ""
    },
    {
      "code": "key_code",
      "custom_name": "",
      "dp_id": 4,
      "time": 1674301727766,
      "type": "string",
      "value": ""
    },
    {
      "code": "key_code2",
      "custom_name": "",
      "dp_id": 5,
      "time": 1674301727766,
      "type": "string",
      "value": ""
    },
    {
      "code": "key_code3",
      "custom_name": "",
      "dp_id": 6,
      "time": 1674301727766,
      "type": "string",
      "value": ""
    },
    {
      "code": "key_study",
      "custom_name": "",
      "dp_id": 7,
      "time": 1674301727766,
      "type": "raw"
    },
    {
      "code": "key_study2",
      "custom_name": "",
      "dp_id": 8,
      "time": 1674301727766,
      "type": "raw"
    },
    {
      "code": "key_study3",
      "custom_name": "",
      "dp_id": 9,
      "time": 1674301727766,
      "type": "raw"
    },
    {
      "code": "delay_time",
      "custom_name": "",
      "dp_id": 10,
      "time": 1674301727766,
      "type": "value",
      "value": 0
    },
    {
      "code": "key_code4",
      "custom_name": "",
      "dp_id": 11,
      "time": 1674301727766,
      "type": "string",
      "value": ""
    },
    {
      "code": "key_study4",
      "custom_name": "",
      "dp_id": 12,
      "time": 1674301727766,
      "type": "raw"
    },
    {
      "code": "type",
      "custom_name": "",
      "dp_id": 13,
      "time": 1674301727766,
      "type": "value",
      "value": 0
    },
    {
      "code": "switch_power",
      "custom_name": "",
      "dp_id": 101,
      "time": 1725346712497,
      "type": "bool",
      "value": true
    },
    {
      "code": "mode",
      "custom_name": "",
      "dp_id": 102,
      "time": 1725346712497,
      "type": "enum",
      "value": "0"
    },
    {
      "code": "temperature",
      "custom_name": "",
      "dp_id": 103,
      "time": 1725346712497,
      "type": "value",
      "value": 24
    },
    {
      "code": "fan",
      "custom_name": "",
      "dp_id": 104,
      "time": 1725346712497,
      "type": "enum",
      "value": "0"
    },
    {
      "code": "swing",
      "custom_name": "",
      "dp_id": 105,
      "time": 1674301727766,
      "type": "bool",
      "value": false
    },
    {
      "code": "ir_send",
      "custom_name": "",
      "dp_id": 201,
      "time": 1674301727766,
      "type": "string",
      "value": ""
    },
    {
      "code": "ir_study_code",
      "custom_name": "",
      "dp_id": 202,
      "time": 1674301727766,
      "type": "raw"
    }
  ]
}

Maxicool Airco

{
  "device": {
    "active_time": 1664557709,
    "biz_type": 0,
    "category": "infrared_ac",
    "create_time": 1664557709,
    "icon": "smart/icon/001453365846342fhj9e/11c62df7bd89c10f43d3e5ee8d13b4f4.png",
    "id": "bff03d14e427050e582h10",
    "ip": "<redacted>",
    "lat": "<redacted>",
    "local_key": "<redacted>",
    "lon": "<redacted>",
    "model": "",
    "name": "Airco overloop",
    "node_id": "d78b47fb832187fd",
    "online": true,
    "owner_id": "<redacted>",
    "product_id": "qzktzhehinzsz2je",
    "product_name": "Air Conditioning",
    "sub": true,
    "time_zone": "+02:00",
    "uid": "<redacted>",
    "update_time": 1725268938,
    "uuid": "<redacted>",
    "status": []
  },
  "specifications": {
    "category": "infrared_ac",
    "functions": [
      {
        "code": "F",
        "type": "ENUM",
        "values": "{\"min\":0,\"max\":3,\"scale\":0,\"step\":1,\"type\":\"Integer\"}"
      },
      {
        "code": "M",
        "type": "ENUM",
        "values": "{\"min\":0,\"max\":4,\"scale\":0,\"step\":1,\"type\":\"Integer\"}"
      },
      {
        "code": "PowerOff",
        "type": "STRING",
        "values": "PowerOff"
      },
      {
        "code": "PowerOn",
        "type": "STRING",
        "values": "PowerOn"
      },
      {
        "code": "T",
        "type": "ENUM",
        "values": "{\"min\":16,\"max\":30,\"scale\":0,\"step\":1,\"type\":\"Integer\"}"
      }
    ],
    "status": [
      {
        "code": "wind",
        "type": "ENUM",
        "values": "{\"min\":0,\"max\":3,\"scale\":0,\"step\":1,\"type\":\"Integer\"}"
      },
      {
        "code": "mode",
        "type": "ENUM",
        "values": "{\"min\":0,\"max\":4,\"scale\":0,\"step\":1,\"type\":\"Integer\"}"
      },
      {
        "code": "power",
        "type": "BOOLEAN",
        "values": "{}"
      },
      {
        "code": "temp",
        "type": "ENUM",
        "values": "{\"min\":16,\"max\":30,\"scale\":0,\"step\":1,\"type\":\"Integer\"}"
      }
    ]
  },
  "data_points": [
    {
      "code": "control",
      "custom_name": "",
      "dp_id": 1,
      "time": 1664557709279,
      "type": "enum",
      "value": "send_ir"
    },
    {
      "code": "study_code",
      "custom_name": "",
      "dp_id": 2,
      "time": 1664557709279,
      "type": "raw"
    },
    {
      "code": "ir_code",
      "custom_name": "",
      "dp_id": 3,
      "time": 1664557709279,
      "type": "string",
      "value": ""
    },
    {
      "code": "key_code",
      "custom_name": "",
      "dp_id": 4,
      "time": 1664557709279,
      "type": "string",
      "value": ""
    },
    {
      "code": "key_code2",
      "custom_name": "",
      "dp_id": 5,
      "time": 1664557709279,
      "type": "string",
      "value": ""
    },
    {
      "code": "key_code3",
      "custom_name": "",
      "dp_id": 6,
      "time": 1664557709279,
      "type": "string",
      "value": ""
    },
    {
      "code": "key_study",
      "custom_name": "",
      "dp_id": 7,
      "time": 1664557709279,
      "type": "raw"
    },
    {
      "code": "key_study2",
      "custom_name": "",
      "dp_id": 8,
      "time": 1664557709279,
      "type": "raw"
    },
    {
      "code": "key_study3",
      "custom_name": "",
      "dp_id": 9,
      "time": 1664557709279,
      "type": "raw"
    },
    {
      "code": "delay_time",
      "custom_name": "",
      "dp_id": 10,
      "time": 1664557709279,
      "type": "value",
      "value": 0
    },
    {
      "code": "key_code4",
      "custom_name": "",
      "dp_id": 11,
      "time": 1664557709279,
      "type": "string",
      "value": ""
    },
    {
      "code": "key_study4",
      "custom_name": "",
      "dp_id": 12,
      "time": 1664557709279,
      "type": "raw"
    },
    {
      "code": "type",
      "custom_name": "",
      "dp_id": 13,
      "time": 1664557709279,
      "type": "value",
      "value": 0
    },
    {
      "code": "switch_power",
      "custom_name": "",
      "dp_id": 101,
      "time": 1725346677485,
      "type": "bool",
      "value": true
    },
    {
      "code": "mode",
      "custom_name": "",
      "dp_id": 102,
      "time": 1725346677485,
      "type": "enum",
      "value": "0"
    },
    {
      "code": "temperature",
      "custom_name": "",
      "dp_id": 103,
      "time": 1725346677485,
      "type": "value",
      "value": 24
    },
    {
      "code": "fan",
      "custom_name": "",
      "dp_id": 104,
      "time": 1725346677485,
      "type": "enum",
      "value": "0"
    },
    {
      "code": "swing",
      "custom_name": "",
      "dp_id": 105,
      "time": 1664557709279,
      "type": "bool",
      "value": false
    },
    {
      "code": "ir_send",
      "custom_name": "",
      "dp_id": 201,
      "time": 1664557709279,
      "type": "string",
      "value": ""
    },
    {
      "code": "ir_study_code",
      "custom_name": "",
      "dp_id": 202,
      "time": 1664557709279,
      "type": "raw"
    }
  ]
}

IR device
{ "device": { "active_time": 1674292477, "biz_type": 0, "category": "wnykq", "create_time": 1674292477, "icon": "smart/icon/ay1525749833414yotNt/af87e60f680f9a7c2aedaa645418ee51.png", "id": "bf65271c4d228fe1c24ofc", "ip": "", "lat": "", "local_key": "", "lon": "", "model": "S06ProWB3S新界面", "name": "Kamer Esmee", "online": true, "owner_id": "", "product_id": "whs3cty93fzrqkpt", "product_name": "Smart IR", "status": [ { "code": "va_temperature", "value": 224 }, { "code": "va_humidity", "value": 76 } ], "sub": false, "time_zone": "+01:00", "uid": "", "update_time": 1725280286, "uuid": "" }, "specifications": { "category": "wnykq", "functions": [], "status": [ { "code": "va_temperature", "type": "Integer", "values": "{"unit":"℃","min":-200,"max":800,"scale":1,"step":1}" }, { "code": "va_humidity", "type": "Integer", "values": "{"unit":"%","min":0,"max":100,"scale":0,"step":1}" } ] }, "data_points": [ { "code": "temp_current", "custom_name": "", "dp_id": 101, "time": 1725352801930, "type": "value", "value": 224 }, { "code": "humidity_value", "custom_name": "", "dp_id": 102, "time": 1725352802016, "type": "value", "value": 76 }, { "code": "ir_send", "custom_name": "", "dp_id": 201, "time": 1674292477717, "type": "string", "value": "" }, { "code": "ir_study_code", "custom_name": "", "dp_id": 202, "time": 1674292477717, "type": "raw" } ] }.

IR device 2
{ "device": { "active_time": 1664555988, "biz_type": 0, "category": "wnykq", "create_time": 1664555988, "icon": "smart/icon/ay1525749833414yotNt/1626180436d652b60495b.png", "id": "bffa52d4ea5e49e43cl3hn", "ip": "", "lat": "", "local_key": "", "lon": "", "model": "S06ProWB3S新界面", "name": "Overloop", "online": true, "owner_id": "", "product_id": "hfq0xqhjsqmfqkw4", "product_name": "Smart IR", "status": [ { "code": "va_temperature", "value": 218 }, { "code": "va_humidity", "value": 78 } ], "sub": false, "time_zone": "+02:00", "uid": "", "update_time": 1725280279, "uuid": "" }, "specifications": { "category": "wnykq", "functions": [], "status": [ { "code": "va_temperature", "type": "Integer", "values": "{"unit":"℃","min":-200,"max":800,"scale":1,"step":1}" }, { "code": "va_humidity", "type": "Integer", "values": "{"unit":"%","min":0,"max":100,"scale":0,"step":1}" } ] }, "data_points": [ { "code": "temp_current", "custom_name": "", "dp_id": 101, "time": 1725353102416, "type": "value", "value": 218 }, { "code": "humidity_value", "custom_name": "", "dp_id": 102, "time": 1725353102563, "type": "value", "value": 78 }, { "code": "ir_send", "custom_name": "", "dp_id": 201, "time": 1664556950445, "type": "string", "value": "{"control":"study_exit"}" }, { "code": "ir_study_code", "custom_name": "", "dp_id": 202, "time": 1664556949826, "type": "raw", "value": "JyNmEVECEwJxAvQBcQL0AW8C9AFxAlkGbwITAlICFAJQAhMCUQJ5Bm8CWQZxAnYGUgISAlMCEgJxAlcGcQJYBnECdgZSAncGcQJYBnECdwZRAhMCUgISAlMCEgJRAncGcQL0AXAC9AFxAhICUwISAlECdwZTAnYGcgJXBnEC8wFyAnYGUgLnnkgjiwhxAjB1" } ] }

@Sanderbakker1 Sanderbakker1 added the device request Indicates a device request label Sep 3, 2024
@bobvandevijver
Copy link
Collaborator

I'm not sure how this should work, but note that this app is mainly for WiFi capable Tuya devices.

Can you control the AC's in the app using their device, or do you select the IR device to control the AC?

When using version 1.3.0 of this app and add your device as other/unknown you should be able to send values to the datapoints of the IR device, which should be similar to how the community app works. I do not think we will be any other support than that.

@Sanderbakker1
Copy link
Author

Bob,

In the Tuya app i see the airco's as a physical device. So i can control it in the Tuya app directly.
When i look in the Tuya IOT this are the instructions:
image
image

I tried adding it as an other device, but can get it working. Here a flow of how it works now:

image
image

@bobvandevijver
Copy link
Collaborator

Why can't you get it to work? Everything I am seeing in your flow screenshot should be working when using the "other" device.

@Sanderbakker1
Copy link
Author

Sanderbakker1 commented Sep 3, 2024

When using the Other device IF tags i dont get any values back.

I see the airco in the Tuya app as a physical device, so i think it can be added in the homey app.
Maybe Peter Kawa knows a way?

@bobvandevijver
Copy link
Collaborator

Your airco is using an completely undocumented device category, so no, we will probably not support that. But we also do not need to do that, as you can use those cards.

You mention "IF tags", do you mean that the "When" cards are not triggered when updates should happen?

@Sanderbakker1
Copy link
Author

Yes i mean the When cards.
I did make several WHEN cards to try. Nothing gets triggert.
Only thing i get working so far is set temp to string 21.
But the When card is not triggering with the value back.
image

@Sanderbakker1
Copy link
Author

Sanderbakker1 commented Sep 3, 2024

I believe Tuya simply recognizes the air conditioner as a device, and it can be controlled with the commands just like any other air conditioner. I see other requests for air conditioners using the same commands here as well. To clarify: My IR device is a device in Tuya, and the air conditioner is a separate device with its own device ID.

Just like the breezehub airco

@bobvandevijver
Copy link
Collaborator

It seems that we have found why not all data points are reported, which is due to some interesting behaviour on the Tuya side. Luckily, it seems that we can fix that with some adjustment on our side. Work in progress, when I know more I will let you know.

@bobvandevijver bobvandevijver added the confirmed Indicates that there is an issue which has been confirmed label Sep 12, 2024
@bobvandevijver bobvandevijver mentioned this issue Sep 12, 2024
34 tasks
@bobvandevijver bobvandevijver added this to the Release 1.4.0 milestone Sep 12, 2024
@bobvandevijver bobvandevijver linked a pull request Sep 12, 2024 that will close this issue
@bobvandevijver bobvandevijver added wontfix This will not be worked on and removed confirmed Indicates that there is an issue which has been confirmed labels Sep 12, 2024
@bobvandevijver
Copy link
Collaborator

I am closing this issue as the particular infrared airco will not be added (#217) because they do not expose their status using the status set we need. You can still control it directly using the datapoints and the flow cards we expose. If the triggers currently do not work for your datapoints it could be caused by a known issue with the updates, which is tracked with #136.

@bobvandevijver bobvandevijver closed this as not planned Won't fix, can't repro, duplicate, stale Sep 12, 2024
@bobvandevijver bobvandevijver removed this from the Release 1.4.0 milestone Sep 24, 2024
@bobvandevijver bobvandevijver reopened this Nov 6, 2024
@bobvandevijver bobvandevijver added this to the Release 1.5.0 milestone Nov 6, 2024
@bobvandevijver bobvandevijver added in progress Is already being worked on confirmed Indicates that there is an issue which has been confirmed and removed wontfix This will not be worked on labels Nov 6, 2024
@bobvandevijver
Copy link
Collaborator

We have been working on real IR support, and I believe that your device can actually work with that. It is scheduled for version 1.5.0 now, which is still pending a couple of things.

@bobvandevijver bobvandevijver linked a pull request Nov 6, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
confirmed Indicates that there is an issue which has been confirmed device request Indicates a device request in progress Is already being worked on
Development

Successfully merging a pull request may close this issue.

2 participants