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

Need support for TCL Remote GYKQ-58(XM) #1810

Open
zat366 opened this issue May 19, 2022 · 13 comments
Open

Need support for TCL Remote GYKQ-58(XM) #1810

zat366 opened this issue May 19, 2022 · 13 comments
Assignees
Labels
enhancement more info Pending Analysis The issue can't progress without further message analysis

Comments

@zat366
Copy link

zat366 commented May 19, 2022

I have a remote from TCL GYKQ-58 that is reporting unknown using IRRecvdumpV2.

Here is the Raw Data examples
row_data.txt

If you need other data from me, I'll be happy to help.
Thank you again.

crankyoldgit added a commit that referenced this issue May 19, 2022
* NOTE: This is a 2-bit per mark/space pair protocol.
* Add `sendTcl96Ac()` & `decodeTcl96Ac()` routines.
* Unit test coverage.
* Fix mistake with `DECODDE_AC` define.

This is highly experimental. Bit ordering etc is a complete guess at this stage.

For #1810
@crankyoldgit crankyoldgit self-assigned this May 19, 2022
@crankyoldgit crankyoldgit added enhancement more info Pending Confirmation Waiting for confirmation from user labels May 19, 2022
@crankyoldgit
Copy link
Owner

Okay, that's an interesting protocol. It appears to be two-bits of data per mark/space pair.

I've cobbled something together that can capture/decode/send the protocol.
However, the bit ordering and numbering is yet to be determined. We will need to work that out.

I've created branch tcl_gykq58_basic (https://github.com/crankyoldgit/IRremoteESP8266/tree/tcl_gykq58_basic). Please download and try it out with the dump program.

You will need to collect the state[] info for a full temperature range to help work that out.
e.g. Were are up to here: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol#determining-the-bit-order-of-the-protocol

Only do the temperature range for now. Collecting other data is a waste of time at present till we get that determined.

Please read and follow: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol#capture-some-raw-ir-messages-from-the-remote

@zat366
Copy link
Author

zat366 commented May 19, 2022

Thankyou @crankyoldgit ,I did IRRECVDUMPV2 with the new library and the Proptocol now is recognized. I coolect the state[] info as follows

Setting Desc. state[]
Auto, 16C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x30, 0x0C, 0x04, 0x00, 0x35
Auto, 16.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x31, 0x0C, 0x04, 0x00, 0x34
Auto, 17C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x33, 0x0C, 0x04, 0x00, 0x36
Auto, 17.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x32, 0x0C, 0x04, 0x00, 0x37
Auto, 18C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x34, 0x0C, 0x04, 0x00, 0x31
Auto, 18.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x35, 0x0C, 0x04, 0x00, 0x30
Auto, 19C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x37, 0x0C, 0x04, 0x00, 0x32
Auto, 19.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x36, 0x0C, 0x04, 0x00, 0x33
Auto, 20C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x3C, 0x0C, 0x04, 0x00, 0x39
Cool, 16C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0D, 0x72, 0x30, 0x00, 0x04, 0x00, 0x4B
Dry, 16C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0F, 0x0F, 0x30, 0x00, 0x04, 0x00, 0x34
Fan, No temperature 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0E, 0x72, 0x20, 0x00, 0x04, 0x00, 0x58
Heat, 16C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x08, 0x72, 0x30, 0x00, 0x04, 0x00, 0x4E

@crankyoldgit
Copy link
Owner

crankyoldgit commented May 19, 2022

Is the lowest temp the unit will do is 16C, and the highest, 20C?

@zat366
Copy link
Author

zat366 commented May 20, 2022

The lowest temp is 16C ,the highest is about 30C, the remote control is not nearby. I'll check it later

@crankyoldgit
Copy link
Owner

You need to record the full temperature range.

@zat366
Copy link
Author

zat366 commented May 20, 2022

I record the full temperature range. The lowest temp is 16C, and the highest is 31C .I hope this can be helpful to the work

Setting Desc. state[]
Auto, 16C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x30, 0x0C, 0x04, 0x00, 0x35
Auto, 16.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x31, 0x0C, 0x04, 0x00, 0x34
Auto, 17C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x33, 0x0C, 0x04, 0x00, 0x36
Auto, 17.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x32, 0x0C, 0x04, 0x00, 0x37
Auto, 18C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x34, 0x0C, 0x04, 0x00, 0x31
Auto, 18.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x35, 0x0C, 0x04, 0x00, 0x30
Auto, 19C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x37, 0x0C, 0x04, 0x00, 0x32
Auto, 19.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x36, 0x0C, 0x04, 0x00, 0x33
Auto,20C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x3C, 0x0C, 0x04, 0x00, 0x39
Auto, 20.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x3D, 0x0C, 0x04, 0x00, 0x38
Auto, 21C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x3F, 0x0C, 0x04, 0x00, 0x3A
Auto, 21.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x3E, 0x0C, 0x04, 0x00, 0x3B
Auto, 22C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x38, 0x0C, 0x04, 0x00, 0x3D
Auto, 22.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x39, 0x0C, 0x04, 0x00, 0x3C
Auto, 23C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x3B, 0x0C, 0x04, 0x00, 0x3E
Auto, 23.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x3A, 0x0C, 0x04, 0x00, 0x3F
Auto, 24C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x20, 0x0C, 0x04, 0x00, 0x25
Auto, 24.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x21, 0x0C, 0x04, 0x00, 0x24
Auto, 25C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x23, 0x0C, 0x04, 0x00, 0x26
Auto, 25.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x22, 0x0C, 0x04, 0x00, 0x27
Auto, 26C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x24, 0x0C, 0x04, 0x00, 0x21
Auto, 26.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x25, 0x0C, 0x04, 0x00, 0x20
Auto, 27C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x27, 0x0C, 0x04, 0x00, 0x22
Auto, 27.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x26, 0x0C, 0x04, 0x00, 0x23
Auto, 28C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x2C, 0x0C, 0x04, 0x00, 0x29
Auto, 28.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x2D, 0x0C, 0x04, 0x00, 0x28
Auto, 29C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x2F, 0x0C, 0x04, 0x00, 0x2A
Auto, 29.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x2E, 0x0C, 0x04, 0x00, 0x2B
Auto, 30C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x28, 0x0C, 0x04, 0x00, 0x2D
Auto, 30.5C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x29, 0x0C, 0x04, 0x00, 0x2C
Auto, 31C 0xE7, 0x32, 0x00, 0x10, 0xC5, 0x0C, 0x01, 0x2B, 0x0C, 0x04, 0x00, 0x2E

crankyoldgit added a commit that referenced this issue Jun 4, 2022
* NOTE: This is a 2-bit per mark/space pair protocol.
* Add `sendTcl96Ac()` & `decodeTcl96Ac()` routines.
* Unit test coverage.
* Fix mistake with `DECODDE_AC` define.

This is highly experimental. Bit ordering etc is a complete guess at this stage.

For #1810
crankyoldgit added a commit that referenced this issue Jun 4, 2022
It seems the we need to swap the timing value for `0b11` with the one for `0b10`.

Fingers crossed this will give us sane numerically increasing temperature values.

For #1810
@crankyoldgit
Copy link
Owner

@zat366 The values for the temperature didn't look sane, so I've made some tweaks as to what each timing value is.

Can you please download the latest version of that branch and capture a new temperature sequence with that?

crankyoldgit added a commit that referenced this issue Jun 4, 2022
It seems the we need to swap the timing value for `0b11` with the one for `0b10`.

Fingers crossed this will give us sane numerically increasing temperature values.

For #1810
@crankyoldgit
Copy link
Owner

Oops. Missed a file. If you've already downloaded it. Please do so again.

@zat366
Copy link
Author

zat366 commented Jun 7, 2022

I pulled the latest version of branch tcl_gykq58_basic and captured a new temperature sequence .

Setting Desc. state[]
Auto, 16C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x20, 0x00, 0x04, 0x00, 0x2C
Auto, 16.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x21, 0x00, 0x04, 0x00, 0x2D
Auto, 17C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x22, 0x00, 0x04, 0x00, 0x2E
Auto, 17.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x23, 0x00, 0x04, 0x00, 0x2F
Auto, 18C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x24, 0x00, 0x04, 0x00, 0x28
Auto, 18.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x25, 0x00, 0x04, 0x00, 0x29
Auto, 19C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x26, 0x00, 0x04, 0x00, 0x2A
Auto, 19.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x27, 0x00, 0x04, 0x00, 0x2B
Auto,20C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x28, 0x00, 0x04, 0x00, 0x24
Auto, 20.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x29, 0x00, 0x04, 0x00, 0x25
Auto, 21C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x2A, 0x00, 0x04, 0x00, 0x26
Auto, 21.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x27
Auto, 22C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x2C, 0x00, 0x04, 0x00, 0x20
Auto, 22.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x2D, 0x00, 0x04, 0x00, 0x21
Auto, 23C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x2E, 0x00, 0x04, 0x00, 0x22
Auto, 23.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x2F, 0x00, 0x04, 0x00, 0x23
Auto, 24C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x30, 0x00, 0x04, 0x00, 0x3C
Auto, 24.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x31, 0x00, 0x04, 0x00, 0x3D
Auto, 25C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x32, 0x00, 0x04, 0x00, 0x3E
Auto, 25.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x33, 0x00, 0x04, 0x00, 0x3F
Auto, 26C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x34, 0x00, 0x04, 0x00, 0x38
Auto, 26.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x35, 0x00, 0x04, 0x00, 0x39
Auto, 27C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x36, 0x00, 0x04, 0x00, 0x3A
Auto, 27.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x37, 0x00, 0x04, 0x00, 0x3B
Auto, 28C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x38, 0x00, 0x04, 0x00, 0x34
Auto, 28.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x39, 0x00, 0x04, 0x00, 0x35
Auto, 29C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x3A, 0x00, 0x04, 0x00, 0x36
Auto, 29.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x37
Auto, 30C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x3C, 0x00, 0x04, 0x00, 0x30
Auto, 30.5C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x31
Auto, 31C 0xB6, 0x23, 0x00, 0x10, 0x85, 0x08, 0x00, 0x3E, 0x00, 0x04, 0x00, 0x32

@NiKiZe
Copy link
Collaborator

NiKiZe commented Jun 7, 2022

Nice to see 8th byte showing a steady increment

@crankyoldgit
Copy link
Owner

As @NiKiZe indicates, it looks like we've got a stable bit ordering (and numeric identification) working for this protocol.
I've created PR #1820 to merge in the basic support.
Now it's you (@zat366) need to do: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol#create-a-spreadsheet & https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol#working-out-the-details etc

@crankyoldgit crankyoldgit removed the Pending Confirmation Waiting for confirmation from user label Jun 8, 2022
crankyoldgit added a commit that referenced this issue Jun 8, 2022
* **NOTE**: This is a 2-bit per mark/space pair protocol.
* Add `sendTcl96Ac()` & `decodeTcl96Ac()` routines.
* Unit test coverage.
* Fix mistake with `DECODE_AC` define.

Bit ordering confirmed in: #1810 (comment)

For #1810
@crankyoldgit crankyoldgit added the Pending Analysis The issue can't progress without further message analysis label Jul 7, 2022
@crankyoldgit
Copy link
Owner

Ping. How are you going on this? Not rushing you (as I already have too much on my plate as is. :-P

crankyoldgit added a commit that referenced this issue Sep 15, 2022
_v2.8.3 (20220915)_

**[Bug Fixes]**
- Fix `#if` for DECODE_COOLIX48 (#1796)
- Add missing `prev`s to `decodeToState()` (#1783)

**[Features]**
- Add `pause()` function to ESP32 when receiving. (#1871)
- ARGO: Argo add `sendSensorTemp()` (#1858 #1859)
- HAIER_AC160: Experimental detail support. (#1852 #1804)
- BOSCH144: Add IRac class support (#1841)
- Mitsubishi_AC: update left vane in `IRac` class (#1837)
- Basic support for Daikin 312bit/39byte A/C protocol. (#1836 #1829)
- Experimental basic support for Sanyo AC 152 bit protocol. (#1828 #1826)
- GREE: Add model support for `YX1FSF`/Soleus Air Windown A/C (#1823 #1821)
- Experimental basic support for Bosch 144bit protocol. (#1822 #1787)
- Experimental basic support for TCL AC 96 bit protocol. (#1820 #1810)
- Add basic support for clima-butler (52bit) RCS-SD43UWI (#1815 #1812)
- TOTO: An experimental _(s)wipe_ at support for Toto Toilets. (#1811 #1806)
- CARRIER_AC128: Experimental Basic support for Carrier AC 128bit protocol. (#1798 #1797)
- HAIER_AC160: Add basic support for Haier 160bit protocol. (#1805 #1804)
- DAIKIN: Add basic support for 200-bit Daikin protocol. (#1803 #1802)
- FUJITSU: Improve handling of 10C Heat mode. (#1788 #1780)
- FUJITSU: Improve handling of short (command only) messages. (#1784 #1780)

**[Misc]**
- Improve the `_IRREMOTEESP8266_VERSION_VAL` macro (#1875 #1870)
- SONY: Update supported devices. (#1872)
- SAMSUNG: Update supported devices (#1873)
- NEC: Update supported devices (#1874)
- Give IRmacros.h smaller scope to avoid impacting projects using IRremoteESP8266 (#1857 #1853 #1851)
- Inhibit protocol names for not-included protocols (#1853 #1851)
- Test out codeql static analysis (#1842)
- Remove pylint disable=no-self-use (#1817)
- Fujitsu General: update supported devices (#1813)
- DAIKIN: Update supported devices (#1808 #1807)
- Fujitsu: Update supported remote info. (#1801 #1794)
- DAIKIN128: Update supported devices (#1754)
- Voltas: Add link to manual for 122LZF A/C. (#1800 #1799 #1238)
- Daikin128: Additional unit test. (#1795 #1754)
- MIDEA: Update supported devices (#1791 #1790)
crankyoldgit added a commit that referenced this issue Sep 16, 2022
**_v2.8.3 (20220915)_**

**[Bug Fixes]**
- Fix `#if` for DECODE_COOLIX48 (#1796)
- Add missing `prev`s to `decodeToState()` (#1783)

**[Features]**
- Add `pause()` function to ESP32 when receiving. (#1871)
- ARGO: Argo add `sendSensorTemp()` (#1858 #1859)
- HAIER_AC160: Experimental detail support. (#1852 #1804)
- BOSCH144: Add IRac class support (#1841)
- Mitsubishi_AC: update left vane in `IRac` class (#1837)
- Basic support for Daikin 312bit/39byte A/C protocol. (#1836 #1829)
- Experimental basic support for Sanyo AC 152 bit protocol. (#1828 #1826)
- GREE: Add model support for `YX1FSF`/Soleus Air Windown A/C (#1823 #1821)
- Experimental basic support for Bosch 144bit protocol. (#1822 #1787)
- Experimental basic support for TCL AC 96 bit protocol. (#1820 #1810)
- Add basic support for clima-butler (52bit) RCS-SD43UWI (#1815 #1812)
- TOTO: An experimental _(s)wipe_ at support for Toto Toilets. (#1811 #1806)
- CARRIER_AC128: Experimental Basic support for Carrier AC 128bit protocol. (#1798 #1797)
- HAIER_AC160: Add basic support for Haier 160bit protocol. (#1805 #1804)
- DAIKIN: Add basic support for 200-bit Daikin protocol. (#1803 #1802)
- FUJITSU: Improve handling of 10C Heat mode. (#1788 #1780)
- FUJITSU: Improve handling of short (command only) messages. (#1784 #1780)

**[Misc]**
- Improve the `_IRREMOTEESP8266_VERSION_VAL` macro (#1875 #1870)
- SONY: Update supported devices. (#1872)
- SAMSUNG: Update supported devices (#1873)
- NEC: Update supported devices (#1874)
- Give IRmacros.h smaller scope to avoid impacting projects using IRremoteESP8266 (#1857 #1853 #1851)
- Inhibit protocol names for not-included protocols (#1853 #1851)
- Test out codeql static analysis (#1842)
- Remove pylint disable=no-self-use (#1817)
- Fujitsu General: update supported devices (#1813)
- DAIKIN: Update supported devices (#1808 #1807)
- Fujitsu: Update supported remote info. (#1801 #1794)
- DAIKIN128: Update supported devices (#1754)
- Voltas: Add link to manual for 122LZF A/C. (#1800 #1799 #1238)
- Daikin128: Additional unit test. (#1795 #1754)
- MIDEA: Update supported devices (#1791 #1790)
@crankyoldgit
Copy link
Owner

FYI, the changes mentioned above have now been included in the new v2.8.3 release of the library.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement more info Pending Analysis The issue can't progress without further message analysis
Projects
None yet
Development

No branches or pull requests

3 participants