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

Add support for Kogan 8.2kW split aircon #2887

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Mantrid42
Copy link
Contributor

Based on fisher_summer

Adds support for:

  • Anti-frost
  • Anti-mildew
  • Buzzer on/off
  • Display on/off
  • Eco mode on/off
  • Health (UV and Ioniser)
  • Self cleaning
  • Soft wind

Fixes

  • Horizontal fixed position, not supported according to bitfield but it is and works
  • Removed "Power" setting (1kWh/2kWh etc.), which does nothing
  • Removed Running time, as it always reports 1s
  • Generator mode text includes throttling amount (30%/50%/80%)
  • Added appropriate icons
  • Removed "wide" swing modes (not supported)

Caveats

  • Customised for this specific model/id, so optional DPS removed (avoids unavailable entities, which aren't disabled by default)
  • Air quality & Dirty filter probably aren't supported (they just report Great and OK), so they're in diagnostic

Based on fisher_summer

Adds support for:

Anti-frost
Anti-mildew
Buzzer on/off
Display on/off
Eco mode on/off
Health (UV and Ioniser)
Self cleaning
Soft wind
Fixes

Horizontal fixed position, not supported according to bitfield but it is and works
Removed "Power" setting (1kWh/2kWh etc.), which does nothing
Removed Running time, as it always reports 1s
Generator mode text includes throttling amount (30%/50%/80%)
Added appropriate icons
Removed "wide" swing modes (not supported)
Caveats

Customised for this specific model/id, so optional DPS removed (avoids unavailable entities, which aren't disabled by default)
Air quality & Dirty filter probably aren't supported (they just report Great and OK), so they're in diagnostic
@Mantrid42
Copy link
Contributor Author

Query Properties for this device:

{
"result": {
"properties": [
{
"code": "Power",
"custom_name": "",
"dp_id": 1,
"time": 1738392057202,
"type": "bool",
"value": false
},
{
"code": "temp_set",
"custom_name": "",
"dp_id": 2,
"time": 1738386625392,
"type": "value",
"value": 240
},
{
"code": "temp_current",
"custom_name": "",
"dp_id": 3,
"time": 1738414102242,
"type": "value",
"value": 26
},
{
"code": "mode",
"custom_name": "",
"dp_id": 4,
"time": 1738064251296,
"type": "enum",
"value": "cold"
},
{
"code": "windspeed",
"custom_name": "",
"dp_id": 5,
"time": 1738391368482,
"type": "enum",
"value": "low"
},
{
"code": "humidity_current",
"custom_name": "",
"dp_id": 18,
"time": 1737962546320,
"type": "value",
"value": 0
},
{
"code": "Fault",
"custom_name": "",
"dp_id": 20,
"time": 1737962546320,
"type": "bitmap",
"value": 0
},
{
"code": "pm25",
"custom_name": "",
"dp_id": 101,
"time": 1737962547701,
"type": "value",
"value": 0
},
{
"code": "sleep",
"custom_name": "",
"dp_id": 105,
"time": 1738071250456,
"type": "enum",
"value": "off"
},
{
"code": "markbit",
"custom_name": "",
"dp_id": 110,
"time": 1738049439910,
"type": "bitmap",
"value": 4338236
},
{
"code": "up_down_sweep",
"custom_name": "",
"dp_id": 113,
"time": 1738060593947,
"type": "enum",
"value": "0"
},
{
"code": "left_right_sweep",
"custom_name": "",
"dp_id": 114,
"time": 1738062616096,
"type": "enum",
"value": "0"
},
{
"code": "totalN",
"custom_name": "",
"dp_id": 115,
"time": 1737006389524,
"type": "value",
"value": 0
},
{
"code": "totalP",
"custom_name": "",
"dp_id": 116,
"time": 1738392114867,
"type": "value",
"value": 23328
},
{
"code": "money",
"custom_name": "",
"dp_id": 119,
"time": 1738064355326,
"type": "enum",
"value": "0"
},
{
"code": "energy",
"custom_name": "",
"dp_id": 120,
"time": 1738221390606,
"type": "enum",
"value": "off"
},
{
"code": "fault2",
"custom_name": "",
"dp_id": 122,
"time": 1737006389524,
"type": "bitmap",
"value": 0
},
{
"code": "boolCode",
"custom_name": "",
"dp_id": 123,
"time": 1738386635002,
"type": "string",
"value": "0118"
},
{
"code": "airquality",
"custom_name": "",
"dp_id": 125,
"time": 1737962547701,
"type": "enum",
"value": "great"
},
{
"code": "up_down_freeze",
"custom_name": "",
"dp_id": 126,
"time": 1738139615917,
"type": "enum",
"value": "1"
},
{
"code": "left_right_freeze",
"custom_name": "",
"dp_id": 127,
"time": 1738139685446,
"type": "enum",
"value": "5"
},
{
"code": "style",
"custom_name": "",
"dp_id": 128,
"time": 1737962546320,
"type": "enum",
"value": "0"
},
{
"code": "kwh",
"custom_name": "",
"dp_id": 129,
"time": 1737962546320,
"type": "enum",
"value": "1"
},
{
"code": "savemoney_temp",
"custom_name": "",
"dp_id": 130,
"time": 1737962546320,
"type": "value",
"value": 26
},
{
"code": "dirty_filter",
"custom_name": "",
"dp_id": 131,
"time": 1737962546320,
"type": "bool",
"value": false
},
{
"code": "hot_cold_wind",
"custom_name": "",
"dp_id": 132,
"time": 1738385314841,
"type": "bool",
"value": false
},
{
"code": "wind",
"custom_name": "",
"dp_id": 133,
"time": 1738062616096,
"type": "enum",
"value": "0"
},
{
"code": "work_time",
"custom_name": "",
"dp_id": 134,
"time": 1738064355326,
"type": "string",
"value": "{"t":1738064354,"s":false,"clr":true}"
},
{
"code": "run_time",
"custom_name": "",
"dp_id": 135,
"time": 1738415151842,
"type": "value",
"value": 1
},
{
"code": "temp_set_f",
"custom_name": "",
"dp_id": 136,
"time": 1737006389524,
"type": "value",
"value": 61
}
]
},
"success": true,
"t": 1738415239112,
"tid": "777b4c32e09d11efa76ab217c6c149bc"
}

@make-all
Copy link
Owner

make-all commented Feb 10, 2025

Additional features from dp 123 are most likely common between all models using this dp layout, so could be added to the fisher summer config.

It is possible that the feature availability masks are off-by-one or reversed, especially the ones that are after the missing 19th bit, so some idea of what your device is returning for dp 110 would be useful.

I don't think Power is supposed to be end user settable. It is marked as rw in the tuya info, but that is maybe for end-of-line programming in the factory. Most likely this is set to a fixed value by the manufacturer, and provided so that rough energy consumption calculations using the runtime value are possible when that is working (rough, because it isn't an actual measurement).

Really, the only thing here justifying a new config is the horizontal position, so if we can figure out if dp 110 is decoded correctly it will help a lot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 👀 In review
Development

Successfully merging this pull request may close these issues.

2 participants