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

Bosch CL3000i-Set 26 E Remote: RG10A(G2S)BGEF #1787

Closed
NicoThien opened this issue Apr 15, 2022 · 15 comments
Closed

Bosch CL3000i-Set 26 E Remote: RG10A(G2S)BGEF #1787

NicoThien opened this issue Apr 15, 2022 · 15 comments
Assignees

Comments

@NicoThien
Copy link
Contributor

I have an air conditioner from Bosch (CL3000i-Set 26 E) at home. On the back of the remote control is the designation RG10A(G2S)BGEF.
remote

I use Tasmota-IR 11.0.0.4 (full) with IRremoteESP8266 v2.8.2

Different protocols were detected: Coolix and Coolix48
Unfortunately, not all remote control commands match the protocol (Coolix). I can set 16°C with the remote control. Not with the library. The fan speeds are also different.

There is raw data that may not quite fit the Coolix protocol. When temperature, mode or/and fan changes, the IRrecvDumpV2 tool determines 299 characters. This results in 18 bytes. In the first 6 bytes, every second is the inverted value of the previous one. The second 6 bytes are a repeat of the first 6. The last 6 bytes are not inverted. The last of these 6 bytes is the checksum (from bytes 13-17).

Timer settings are recognized as Coolix48. Only bytes 1 and 3 (7 & 9) are inverted. Here, too, 299 characters (18 bytes) are recognized.

Only 199 characters (2x 6 bytes) are transferred for the SwingV, Turbo, LED/Beep and Clean functions.

Table still incomplete

@crankyoldgit
Copy link
Owner

Can you please include all of the text from some of the captures of the remote using IRrecvDumpV2 or V3?
Especially for messages that decode incorrectly (and a few for where/when it does).

You might want to look at #1694 (#1697) as well. (FYI/paging @jimmys01)

It looks like we will have to work out some way of telling these Bosch devices from the Coolix ones.

See also: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol

@NicoThien
Copy link
Contributor Author

Mode: Cool; Fan: 100% ; Temp: 16°C

Protocol  : COOLIX
Code      : 0xB23F00 (24 Bits)
Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 1 (Max), Temp: 17C, Zone Follow: Off, Sensor Temp: Off
uint16_t rawData[299] = {4380, 4400,  528, 1646,  504, 570,  504, 1646,  504, 1646,  504, 572,  502, 570,  504, 1646,  504, 570,  504, 572,  502, 1646,  504, 570,  502, 570,  502, 1648,  502, 1646,  502, 570,  502, 1646,  504, 572,  502, 572,  502, 1644,  504, 1646,  504, 1646,  504, 1646,  502, 1648,  500, 1646,  504, 1646,  504, 1646,  504, 572,  502, 570,  504, 570,  504, 570,  504, 570,  504, 570,  506, 570,  502, 572,  502, 570,  502, 572,  502, 572,  502, 572,  502, 572,  502, 572,  500, 1648,  502, 1644,  502, 1646,  504, 1646,  502, 1646,  504, 1646,  504, 1644,  504, 1646,  504, 5234,  4360, 4422,  504, 1646,  502, 596,  478, 1670,  478, 1646,  504, 570,  504, 572,  500, 1646,  502, 572,  502, 572,  502, 1644,  506, 570,  502, 570,  504, 1644,  506, 1644,  502, 574,  502, 1644,  504, 570,  504, 570,  504, 1644,  504, 1646,  504, 1644,  506, 1644,  504, 1646,  504, 1646,  504, 1644,  504, 1646,  502, 570,  504, 570,  504, 570,  504, 570,  502, 570,  504, 570,  502, 572,  502, 570,  504, 570,  504, 570,  504, 570,  502, 572,  502, 570,  506, 570,  504, 1646,  502, 1646,  504, 1646,  504, 1646,  504, 1646,  502, 1644,  504, 1644,  504, 1646,  502, 5236,  4360, 4424,  504, 1646,  504, 1646,  502, 572,  504, 1644,  504, 570,  504, 1646,  504, 570,  502, 1644,  504, 570,  504, 1644,  506, 1646,  502, 572,  502, 572,  502, 1646,  504, 570,  504, 570,  504, 570,  502, 572,  504, 570,  504, 570,  504, 570,  502, 572,  502, 570,  504, 570,  502, 570,  504, 572,  502, 572,  502, 1646,  504, 570,  504, 570,  504, 570,  502, 574,  502, 572,  502, 572,  502, 572,  502, 572,  502, 572,  502, 570,  504, 572,  502, 572,  502, 572,  502, 1646,  504, 572,  502, 570,  502, 1646,  504, 572,  504, 570,  504, 1644,  504};  // COOLIX B23F00
uint64_t data = 0xB23F00;

Mode: Cool; Fan: 20%; Temp: 18°C

Protocol  : COOLIX
Code      : 0xB2FF10 (24 Bits)
Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 7 (Fixed), Temp: 18C, Zone Follow: Off, Sensor Temp: Off
uint16_t rawData[299] = {4354, 4398,  530, 1648,  502, 598,  476, 1646,  502, 1646,  502, 572,  502, 574,  500, 1646,  502, 572,  502, 574,  500, 1648,  502, 572,  502, 572,  502, 1646,  502, 1646,  504, 574,  500, 1646,  504, 1646,  502, 1672,  476, 1648,  500, 1648,  502, 1648,  502, 1646,  502, 1646,  502, 1646,  504, 572,  502, 572,  502, 572,  502, 598,  476, 572,  502, 572,  502, 598,  476, 574,  500, 574,  502, 572,  502, 572,  502, 1646,  502, 570,  504, 570,  502, 572,  502, 574,  500, 1648,  502, 1646,  502, 1646,  502, 572,  502, 1646,  502, 1648,  502, 1648,  500, 1646,  504, 5236,  4360, 4424,  504, 1672,  476, 572,  502, 1644,  504, 1646,  504, 572,  502, 570,  502, 1648,  502, 572,  502, 574,  500, 1648,  502, 598,  476, 574,  500, 1648,  502, 1644,  504, 572,  502, 1648,  500, 1646,  502, 1646,  502, 1646,  504, 1672,  476, 1646,  502, 1646,  504, 1646,  502, 1648,  502, 598,  476, 572,  500, 572,  502, 572,  502, 574,  500, 598,  476, 574,  500, 572,  502, 574,  500, 572,  502, 572,  502, 1648,  500, 572,  502, 572,  502, 570,  502, 572,  502, 1646,  502, 1646,  504, 1648,  500, 572,  502, 1646,  502, 1646,  502, 1648,  502, 1646,  502, 5216,  4380, 4424,  504, 1646,  502, 1622,  526, 572,  500, 1648,  502, 574,  500, 1646,  502, 572,  502, 1646,  504, 570,  502, 574,  502, 572,  502, 1648,  502, 574,  500, 1648,  502, 574,  502, 572,  500, 572,  502, 572,  500, 598,  476, 572,  502, 596,  476, 574,  502, 572,  502, 572,  502, 596,  476, 574,  502, 570,  502, 572,  502, 572,  502, 598,  476, 572,  502, 572,  502, 570,  504, 572,  502, 572,  502, 598,  476, 572,  500, 574,  502, 572,  502, 572,  502, 1648,  502, 1646,  502, 1648,  500, 572,  502, 1646,  504, 572,  502, 572,  502, 1648,  502};  // COOLIX B2FF10
uint64_t data = 0xB2FF10;

Mode: Cool; Fan: 40%; Temp: 18°C

Protocol  : COOLIX
Code      : 0xB29F10 (24 Bits)
Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 4 (Min), Temp: 18C, Zone Follow: Off, Sensor Temp: Off
uint16_t rawData[299] = {4352, 4424,  504, 1646,  502, 572,  502, 1644,  504, 1648,  502, 570,  502, 572,  504, 1646,  502, 572,  502, 572,  502, 1648,  502, 570,  504, 572,  502, 1648,  502, 1646,  502, 572,  500, 1648,  502, 1646,  502, 574,  500, 598,  478, 1646,  502, 1648,  502, 1648,  502, 1646,  504, 1646,  502, 572,  502, 1646,  504, 1644,  504, 572,  502, 570,  502, 572,  502, 570,  502, 572,  504, 572,  500, 572,  502, 598,  476, 1646,  502, 574,  500, 572,  502, 572,  502, 596,  478, 1646,  502, 1646,  502, 1646,  502, 574,  500, 1646,  504, 1646,  502, 1646,  504, 1646,  502, 5236,  4360, 4422,  504, 1646,  502, 572,  504, 1646,  502, 1646,  504, 572,  502, 572,  502, 1646,  502, 572,  502, 572,  502, 1646,  502, 572,  502, 572,  502, 1648,  502, 1646,  502, 572,  502, 1646,  504, 1646,  502, 572,  502, 572,  502, 1646,  502, 1646,  502, 1648,  502, 1646,  504, 1646,  502, 572,  502, 1646,  504, 1646,  502, 572,  502, 570,  504, 570,  502, 572,  502, 570,  504, 570,  504, 570,  502, 572,  502, 1646,  504, 572,  502, 572,  502, 572,  502, 570,  502, 1648,  502, 1646,  502, 1646,  504, 572,  502, 1648,  502, 1646,  504, 1646,  502, 1646,  502, 5212,  4384, 4424,  504, 1646,  504, 1646,  502, 572,  502, 1646,  502, 570,  504, 1648,  502, 572,  502, 1646,  504, 570,  504, 596,  478, 1646,  504, 570,  502, 1646,  502, 572,  504, 572,  502, 572,  502, 574,  500, 570,  504, 572,  502, 572,  502, 596,  478, 572,  502, 570,  502, 572,  504, 572,  500, 572,  502, 572,  504, 572,  502, 572,  502, 572,  502, 570,  504, 572,  502, 574,  502, 572,  502, 572,  500, 572,  502, 572,  500, 572,  502, 572,  502, 572,  502, 1648,  502, 1646,  502, 1646,  502, 1646,  502, 1646,  504, 1646,  502, 572,  504, 1644,  502};  // COOLIX B29F10
uint64_t data = 0xB29F10;

Mode: Cool; Fan: 60%; Temp: 18°C

Protocol  : COOLIX
Code      : 0xB25F10 (24 Bits)
Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 2 (Med), Temp: 18C, Zone Follow: Off, Sensor Temp: Off
uint16_t rawData[299] = {4378, 4422,  506, 1646,  504, 570,  504, 1644,  504, 1646,  502, 570,  504, 570,  504, 1646,  504, 570,  504, 572,  502, 1646,  502, 572,  502, 570,  504, 1646,  504, 1646,  504, 570,  502, 1646,  504, 572,  502, 1646,  502, 572,  502, 1646,  504, 1646,  504, 1646,  502, 1646,  502, 1646,  504, 1646,  502, 572,  504, 1646,  504, 570,  504, 570,  502, 570,  504, 570,  502, 570,  504, 570,  504, 570,  504, 572,  502, 1646,  504, 570,  504, 572,  502, 570,  504, 570,  502, 1646,  504, 1646,  504, 1646,  504, 570,  504, 1646,  504, 1646,  502, 1646,  504, 1646,  504, 5210,  4384, 4422,  506, 1644,  504, 572,  504, 1646,  502, 1646,  504, 572,  502, 570,  504, 1646,  504, 570,  504, 570,  504, 1644,  504, 572,  504, 570,  504, 1644,  504, 1646,  504, 570,  504, 1646,  502, 570,  504, 1644,  504, 570,  504, 1644,  504, 1644,  504, 1646,  504, 1644,  504, 1644,  504, 1646,  504, 570,  502, 1646,  504, 570,  502, 570,  504, 572,  502, 570,  504, 570,  504, 570,  504, 572,  504, 570,  502, 1646,  504, 570,  502, 572,  502, 570,  504, 570,  502, 1646,  504, 1646,  504, 1644,  504, 570,  504, 1644,  504, 1646,  502, 1646,  504, 1646,  504, 5236,  4358, 4398,  528, 1646,  504, 1646,  504, 570,  504, 1644,  504, 572,  502, 1644,  504, 570,  504, 1646,  504, 570,  504, 570,  502, 1646,  502, 1646,  504, 1646,  504, 1646,  504, 572,  502, 570,  504, 570,  504, 570,  504, 570,  504, 570,  504, 572,  504, 570,  502, 572,  504, 570,  504, 570,  502, 570,  504, 572,  502, 572,  502, 570,  504, 570,  504, 572,  502, 570,  504, 572,  502, 570,  504, 570,  504, 570,  502, 570,  504, 572,  502, 570,  504, 572,  502, 572,  502, 572,  502, 572,  504, 1646,  504, 572,  502, 570,  504, 570,  502, 1646,  502};  // COOLIX B25F10
uint64_t data = 0xB25F10;

Mode: Cool; Fan: 80%; Temp: 18°C

Protocol  : COOLIX
Code      : 0xB23F10 (24 Bits)
Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 1 (Max), Temp: 18C, Zone Follow: Off, Sensor Temp: Off
uint16_t rawData[299] = {4328, 4448,  480, 1670,  478, 596,  478, 1670,  480, 1670,  478, 596,  478, 596,  478, 1670,  478, 596,  478, 596,  478, 1672,  478, 594,  480, 596,  478, 1670,  480, 1670,  478, 596,  478, 1670,  478, 596,  478, 596,  478, 1670,  478, 1670,  478, 1672,  478, 1672,  478, 1672,  478, 1670,  478, 1670,  478, 1670,  478, 598,  476, 596,  478, 594,  480, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  476, 1670,  480, 596,  478, 596,  478, 598,  478, 596,  478, 1672,  478, 1670,  478, 1670,  478, 598,  476, 1672,  478, 1670,  480, 1672,  478, 1670,  478, 5262,  4334, 4448,  480, 1672,  478, 596,  478, 1670,  480, 1670,  478, 598,  476, 596,  478, 1670,  478, 596,  478, 596,  478, 1672,  476, 596,  478, 596,  478, 1670,  478, 1670,  478, 596,  478, 1670,  478, 596,  478, 598,  478, 1670,  478, 1670,  480, 1670,  478, 1672,  478, 1672,  478, 1672,  478, 1672,  478, 1672,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 598,  476, 596,  478, 1670,  478, 596,  478, 596,  476, 596,  478, 596,  478, 1670,  478, 1670,  478, 1672,  478, 596,  478, 1672,  478, 1670,  478, 1670,  478, 1670,  478, 5236,  4358, 4448,  480, 1670,  478, 1672,  478, 594,  478, 1670,  478, 596,  478, 1670,  478, 598,  476, 1672,  478, 598,  476, 1670,  480, 594,  478, 1670,  478, 596,  478, 596,  478, 598,  478, 596,  476, 596,  478, 598,  476, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 598,  478, 596,  476, 596,  476, 598,  478, 598,  476, 596,  478, 596,  476, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 1670,  478, 596,  478, 598,  476, 1670,  478, 596,  478, 1670,  478};  // COOLIX B23F10
uint64_t data = 0xB23F10;

Mode: Cool; Fan: 100%; Temp: 18°C

Protocol  : COOLIX
Code      : 0xB23F10 (24 Bits)
Mesg Desc.: Power: On, Mode: 0 (Cool), Fan: 1 (Max), Temp: 18C, Zone Follow: Off, Sensor Temp: Off
uint16_t rawData[299] = {4380, 4424,  504, 1646,  502, 572,  502, 1646,  504, 1646,  504, 572,  502, 572,  502, 1646,  504, 570,  502, 572,  502, 1646,  504, 572,  502, 572,  502, 1644,  504, 1646,  502, 572,  502, 1646,  502, 572,  502, 572,  502, 1646,  504, 1646,  502, 1644,  504, 1644,  504, 1646,  504, 1646,  504, 1646,  502, 1646,  504, 570,  504, 570,  504, 570,  504, 570,  502, 572,  502, 570,  502, 572,  502, 572,  502, 570,  504, 1646,  502, 570,  504, 572,  502, 570,  502, 570,  502, 1646,  502, 1644,  504, 1646,  502, 572,  502, 1646,  502, 1646,  502, 1646,  502, 1646,  502, 5212,  4382, 4424,  504, 1644,  504, 570,  504, 1646,  504, 1644,  504, 572,  504, 570,  502, 1646,  502, 570,  504, 572,  502, 1646,  502, 570,  504, 570,  504, 1646,  504, 1644,  504, 570,  504, 1646,  504, 570,  504, 570,  504, 1646,  504, 1646,  502, 1646,  504, 1644,  504, 1644,  504, 1646,  504, 1646,  504, 1646,  504, 570,  504, 572,  502, 572,  502, 572,  504, 570,  504, 572,  502, 572,  502, 570,  504, 572,  502, 1646,  504, 570,  504, 570,  504, 572,  502, 570,  504, 1646,  502, 1646,  504, 1646,  504, 570,  502, 1646,  502, 1646,  504, 1646,  504, 1646,  504, 5236,  4358, 4424,  504, 1646,  502, 1646,  504, 570,  502, 1646,  504, 570,  502, 1646,  504, 570,  502, 1646,  504, 570,  502, 1646,  504, 1646,  504, 570,  502, 572,  502, 1646,  504, 570,  504, 568,  504, 570,  504, 572,  502, 572,  502, 572,  504, 570,  502, 572,  502, 572,  502, 572,  502, 570,  504, 572,  502, 570,  504, 570,  502, 572,  502, 570,  504, 572,  502, 572,  502, 572,  502, 572,  502, 570,  504, 572,  502, 570,  504, 570,  504, 572,  502, 570,  502, 572,  504, 570,  504, 1646,  502, 1648,  502, 1646,  502, 572,  502, 570,  504, 1646,  504};  // COOLIX B23F10
uint64_t data = 0xB23F10;

Mode: Dry; Fan: Auto (automatically set by the remote control); Temp: 18°C

Protocol  : COOLIX
Code      : 0xB21F14 (24 Bits)
Mesg Desc.: Power: On, Mode: 1 (Dry), Fan: 0 (Auto0), Temp: 18C, Zone Follow: Off, Sensor Temp: Off
uint16_t rawData[299] = {4378, 4398,  530, 1644,  504, 572,  502, 1644,  504, 1644,  504, 570,  504, 570,  504, 1644,  504, 570,  504, 572,  502, 1646,  502, 572,  502, 570,  504, 1648,  500, 1646,  502, 572,  502, 1646,  504, 570,  502, 570,  504, 572,  502, 1646,  504, 1648,  502, 1646,  504, 1646,  504, 1646,  502, 1646,  502, 1646,  502, 1646,  504, 570,  504, 572,  502, 572,  504, 570,  504, 570,  502, 598,  478, 570,  502, 572,  502, 1646,  502, 572,  502, 1646,  502, 572,  504, 572,  502, 1644,  504, 1646,  504, 1646,  504, 568,  504, 1646,  502, 572,  504, 1646,  504, 1646,  502, 5236,  4358, 4400,  528, 1646,  504, 570,  504, 1644,  504, 1644,  504, 572,  502, 570,  504, 1644,  504, 572,  502, 572,  504, 1646,  502, 572,  502, 570,  502, 1646,  502, 1646,  502, 572,  504, 1646,  502, 572,  502, 570,  502, 572,  504, 1644,  504, 1644,  504, 1646,  502, 1646,  502, 1646,  502, 1646,  504, 1644,  504, 1646,  502, 574,  502, 570,  504, 572,  502, 572,  504, 570,  502, 572,  504, 570,  504, 570,  502, 1644,  506, 572,  502, 1646,  504, 572,  502, 572,  502, 1646,  504, 1646,  502, 1646,  502, 572,  504, 1644,  504, 570,  504, 1646,  504, 1646,  504, 5210,  4384, 4400,  528, 1646,  502, 1646,  504, 572,  502, 1646,  504, 572,  502, 1646,  504, 570,  502, 1646,  504, 572,  502, 1646,  502, 1646,  502, 572,  502, 572,  502, 1646,  504, 570,  502, 1646,  504, 570,  504, 572,  504, 570,  502, 570,  504, 570,  504, 572,  500, 572,  502, 570,  504, 570,  504, 570,  504, 572,  502, 570,  504, 572,  502, 572,  502, 570,  504, 574,  500, 572,  502, 570,  504, 570,  504, 570,  504, 570,  504, 572,  502, 570,  504, 572,  504, 570,  502, 574,  500, 1646,  504, 1646,  504, 1646,  504, 572,  504, 1644,  504, 570,  504};  // COOLIX B21F14
uint64_t data = 0xB21F14;

Timer: turn on in 0.5h

Protocol  : COOLIX48
Code      : 0xB24D5FA00301 (48 Bits)
uint16_t rawData[299] = {4378, 4398,  528, 1646,  504, 570,  502, 1646,  504, 1644,  504, 570,  502, 572,  504, 1644,  504, 572,  502, 570,  504, 1646,  504, 570,  504, 570,  504, 1646,  502, 1646,  502, 572,  504, 1644,  504, 572,  502, 1646,  504, 570,  504, 1646,  502, 1644,  506, 1644,  504, 1646,  504, 1646,  504, 1644,  504, 572,  500, 1646,  502, 572,  502, 572,  502, 572,  502, 572,  504, 570,  504, 572,  502, 570,  504, 572,  502, 570,  504, 570,  504, 570,  504, 1644,  504, 1644,  504, 572,  500, 574,  502, 570,  504, 596,  478, 570,  502, 572,  502, 572,  502, 1644,  504, 5236,  4360, 4422,  506, 1646,  504, 574,  500, 1646,  504, 1646,  504, 572,  502, 570,  504, 1646,  502, 572,  502, 570,  502, 1648,  502, 570,  504, 572,  502, 1646,  504, 1646,  502, 570,  504, 1646,  502, 572,  504, 1646,  502, 570,  504, 1648,  502, 1644,  506, 1644,  504, 1646,  502, 1646,  502, 1646,  504, 570,  502, 1646,  504, 596,  478, 570,  504, 570,  504, 570,  502, 572,  502, 570,  504, 570,  504, 570,  504, 570,  504, 570,  504, 572,  502, 1646,  504, 1644,  504, 570,  504, 570,  504, 570,  502, 570,  504, 570,  504, 570,  504, 570,  504, 1646,  502, 5236,  4360, 4398,  530, 1644,  504, 1646,  504, 570,  504, 1644,  504, 570,  504, 1646,  502, 572,  502, 1646,  504, 570,  504, 570,  504, 1646,  502, 1646,  504, 1620,  528, 1644,  504, 570,  504, 570,  504, 570,  502, 572,  502, 570,  504, 572,  502, 570,  504, 570,  504, 570,  502, 570,  504, 572,  500, 572,  502, 572,  502, 1646,  504, 570,  504, 574,  502, 570,  502, 570,  504, 570,  504, 572,  502, 572,  502, 572,  502, 570,  504, 570,  502, 572,  504, 570,  504, 570,  504, 572,  502, 1644,  504, 570,  504, 572,  502, 572,  502, 572,  502, 1644,  504};  // COOLIX48 B24D5FA00301
uint64_t data = 0xB24D5FA00301;

Timer: turn on in 1h

Protocol  : COOLIX48
Code      : 0xB24D5FA00303 (48 Bits)
uint16_t rawData[299] = {4354, 4396,  508, 1670,  502, 572,  478, 1672,  500, 1648,  478, 596,  504, 572,  476, 1670,  480, 594,  478, 596,  500, 1648,  504, 596,  452, 596,  478, 1670,  478, 1672,  478, 596,  480, 1668,  480, 594,  478, 1670,  504, 572,  476, 1670,  480, 1670,  502, 1646,  478, 1670,  504, 1646,  500, 1648,  478, 596,  478, 1670,  504, 572,  502, 572,  502, 570,  502, 572,  500, 572,  504, 574,  498, 572,  502, 572,  478, 596,  478, 600,  474, 598,  476, 1670,  478, 1672,  478, 598,  478, 594,  480, 594,  502, 572,  502, 572,  478, 596,  478, 1670,  502, 1646,  482, 5234,  4384, 4422,  506, 1646,  502, 572,  502, 1646,  478, 1670,  480, 598,  478, 596,  478, 1694,  454, 596,  478, 596,  478, 1670,  480, 596,  478, 596,  478, 1670,  480, 1670,  478, 596,  478, 1672,  476, 596,  478, 1670,  478, 596,  478, 1670,  478, 1670,  478, 1672,  478, 1670,  478, 1670,  478, 1670,  478, 598,  476, 1670,  478, 596,  478, 596,  478, 596,  478, 620,  452, 596,  476, 596,  478, 596,  478, 598,  476, 596,  478, 596,  476, 596,  480, 1670,  478, 1672,  478, 598,  476, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 1670,  478, 1670,  478, 5260,  4334, 4448,  478, 1670,  478, 1670,  478, 594,  480, 1670,  478, 596,  478, 1670,  478, 594,  480, 1672,  478, 596,  478, 596,  478, 1670,  478, 1672,  478, 1672,  478, 1670,  478, 596,  476, 596,  476, 598,  478, 596,  478, 598,  476, 596,  478, 598,  478, 594,  478, 622,  452, 596,  478, 596,  478, 594,  480, 620,  452, 1672,  478, 620,  454, 596,  476, 596,  478, 596,  478, 596,  476, 598,  476, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  478, 596,  476, 596,  478, 1670,  478, 596,  478, 594,  478, 596,  478, 596,  478, 1670,  480};  // COOLIX48 B24D5FA00303
uint64_t data = 0xB24D5FA00303;

Mode: Heat; Fan 80%; Temp: 18°C

Protocol  : COOLIX
Code      : 0xB25F1C (24 Bits)
Mesg Desc.: Power: On, Mode: 3 (Heat), Fan: 2 (Med), Temp: 18C, Zone Follow: Off, Sensor Temp: Off
uint16_t rawData[299] = {4378, 4398,  530, 1644,  504, 570,  504, 1646,  502, 1644,  504, 574,  500, 572,  504, 1644,  504, 572,  504, 570,  504, 1646,  504, 572,  502, 570,  504, 1646,  504, 1646,  504, 570,  502, 1648,  502, 570,  504, 1646,  504, 572,  504, 1644,  504, 1646,  502, 1646,  502, 1646,  504, 1646,  504, 1646,  504, 570,  504, 1646,  502, 570,  502, 570,  504, 570,  504, 570,  502, 570,  504, 572,  502, 570,  502, 570,  504, 1644,  504, 1646,  502, 1646,  502, 572,  502, 570,  504, 1646,  504, 1644,  504, 1646,  504, 570,  502, 570,  504, 570,  504, 1646,  504, 1646,  504, 5236,  4358, 4400,  526, 1644,  504, 572,  502, 1644,  504, 1646,  504, 570,  504, 570,  504, 1646,  502, 570,  504, 570,  502, 1646,  502, 572,  502, 572,  502, 1644,  504, 1646,  504, 572,  502, 1644,  506, 570,  504, 1646,  504, 572,  502, 1646,  504, 1646,  502, 1646,  502, 1646,  504, 1646,  504, 1646,  504, 570,  504, 1646,  504, 570,  504, 570,  504, 570,  504, 570,  504, 570,  504, 572,  504, 570,  502, 572,  502, 1646,  502, 1646,  502, 1646,  502, 572,  504, 570,  504, 1646,  504, 1646,  504, 1644,  504, 570,  504, 572,  502, 570,  504, 1646,  502, 1646,  504, 5236,  4360, 4400,  528, 1646,  502, 1648,  502, 570,  502, 1646,  502, 572,  502, 1646,  504, 572,  502, 1646,  502, 572,  504, 570,  502, 1646,  504, 1646,  502, 1646,  504, 1646,  504, 570,  504, 572,  502, 572,  504, 570,  502, 570,  504, 572,  502, 572,  502, 572,  504, 570,  504, 572,  502, 572,  502, 570,  504, 570,  504, 572,  502, 570,  504, 572,  502, 572,  502, 572,  502, 570,  504, 572,  502, 572,  502, 572,  502, 570,  504, 570,  504, 570,  504, 572,  502, 570,  504, 572,  502, 572,  502, 1646,  504, 572,  502, 570,  504, 572,  502, 1646,  504};  // COOLIX B25F1C
uint64_t data = 0xB25F1C;

add SwingV on (auto)

Protocol  : COOLIX
Code      : 0xB9F504 (24 Bits)
Mesg Desc.: Power: On, Mode: 1 (Dry), Fan: 7 (Fixed), Temp: 17C, Zone Follow: Off, Sensor Temp: 21C
uint16_t rawData[199] = {4378, 4422,  506, 1646,  502, 572,  504, 1646,  502, 1646,  504, 1644,  504, 572,  502, 572,  502, 1646,  502, 572,  502, 1646,  502, 572,  502, 572,  504, 572,  502, 1646,  502, 1646,  504, 572,  502, 1644,  504, 1644,  504, 1646,  502, 1648,  502, 570,  502, 1646,  504, 572,  502, 1646,  502, 572,  502, 570,  504, 570,  504, 570,  502, 1646,  502, 572,  502, 1646,  502, 570,  504, 570,  502, 570,  504, 570,  504, 570,  502, 570,  504, 1644,  504, 570,  504, 570,  504, 1646,  502, 1646,  504, 1646,  504, 1646,  502, 1646,  504, 570,  504, 1646,  504, 1646,  502, 5236,  4360, 4422,  506, 1644,  504, 572,  502, 1646,  502, 1646,  504, 1644,  506, 570,  504, 572,  502, 1646,  502, 572,  502, 1646,  504, 570,  504, 572,  502, 572,  502, 1646,  504, 1646,  504, 572,  502, 1646,  502, 1648,  502, 1644,  504, 1646,  504, 572,  502, 1644,  504, 570,  502, 1648,  502, 570,  502, 572,  502, 572,  502, 570,  504, 1646,  504, 570,  504, 1644,  504, 572,  504, 572,  502, 572,  502, 570,  502, 572,  502, 572,  502, 1646,  504, 572,  502, 570,  504, 1646,  504, 1646,  502, 1646,  504, 1646,  504, 1646,  504, 570,  504, 1646,  502, 1644,  504};  // COOLIX B9F504
uint64_t data = 0xB9F504;

to SvingV top

Protocol  : COOLIX
Code      : 0xB9F52A (24 Bits)
Mesg Desc.: Power: On, Mode: 2 (Auto), Fan: 7 (Fixed), Temp: 20C, Zone Follow: On, Sensor Temp: 21C
uint16_t rawData[199] = {4378, 4424,  504, 1646,  502, 572,  504, 1644,  504, 1644,  504, 1646,  504, 572,  502, 572,  502, 1646,  504, 570,  504, 1646,  502, 572,  502, 570,  504, 570,  504, 1644,  502, 1646,  504, 572,  502, 1646,  502, 1646,  502, 1646,  504, 1646,  504, 572,  502, 1646,  504, 572,  502, 1644,  504, 572,  504, 570,  504, 572,  502, 572,  504, 1644,  504, 568,  506, 1644,  504, 570,  504, 570,  504, 570,  504, 1646,  504, 570,  504, 1646,  502, 572,  502, 1646,  504, 570,  504, 1644,  502, 1648,  502, 572,  502, 1646,  504, 570,  504, 1644,  504, 570,  504, 1644,  504, 5212,  4384, 4424,  506, 1646,  502, 572,  502, 1646,  502, 1646,  504, 1644,  504, 570,  504, 572,  502, 1646,  504, 570,  504, 1646,  502, 572,  504, 570,  502, 572,  502, 1644,  504, 1646,  504, 570,  504, 1644,  504, 1646,  504, 1646,  502, 1646,  504, 572,  502, 1646,  504, 570,  502, 1646,  502, 570,  504, 572,  502, 570,  504, 570,  504, 1646,  502, 570,  504, 1644,  504, 570,  504, 570,  504, 570,  502, 1646,  504, 572,  502, 1646,  502, 572,  502, 1644,  504, 572,  502, 1646,  504, 1646,  502, 572,  502, 1644,  506, 570,  504, 1646,  504, 572,  502, 1646,  502};  // COOLIX B9F52A
uint64_t data = 0xB9F52A;

@NicoThien
Copy link
Contributor Author

Many thanks for the quick response. If my spreadsheet needs to be formatted differently, I can change that.

@crankyoldgit
Copy link
Owner

Yes, it does. I've left comments on the spreadsheet. Sorry, I should have gotten back to you sooner.

@crankyoldgit
Copy link
Owner

Chasing up on this.

@NicoThien
Copy link
Contributor Author

I changed the table.

crankyoldgit added a commit that referenced this issue Jun 10, 2022
* Added `sendBosch144()` & `decodeBosch144()`
* TODO: Add integrity (strict) checks.
* Add basic unit test coverage.

For #1787
@crankyoldgit
Copy link
Owner

@NicoThien I've created a bosch branch: https://github.com/crankyoldgit/IRremoteESP8266/tree/bosch

It should enable basic sending and decoding of the 144 bit protocol you've documented. I'll leave the 48 bit (short) messages till later for now.

This 18byte/144bit structure/message includes the inverted bytes, and the duplicated sections. i.e. It's not compacted like the COOLIX protocol.

It currently doesn't do any of the integrity checks yet either. e.g. Inverted byes, 2nd section the same as the first, and a checksum in the 3rd section. I'll add those later.

Can you please download and try it out, and let me know how it goes?

@crankyoldgit crankyoldgit added the Pending Confirmation Waiting for confirmation from user label Jun 10, 2022
@NicoThien
Copy link
Contributor Author

The commands of the original remote control are recognized as BOSCH144 protocol. But the remote ESP8266 does not transmit. The IR LED does not turn on.
The curly brackets of the for loop in line 45 of "ir-Bosch.cpp" are missing. But that doesn't seem to be the only problem.

@crankyoldgit
Copy link
Owner

The commands of the original remote control are recognized as BOSCH144 protocol.

Excellent!

But the remote ESP8266 does not transmit. The IR LED does not turn on.

It should work/send something. It does in my Unit Tests. What code & circuit are you using? Is your setup transmitting other protocols successfully?

The curly brackets of the for loop in line 45 of "ir-Bosch.cpp" are missing. But that doesn't seem to be the only problem.

That code (for loop) is correct syntax. There is only one single statement inside the for loop. When that is the case, you don't need to specify a statement block using {}'s.

i.e.

    for (uint16_t offset = 0; offset < nbytes; offset += kSectionByteSize)
      // Section Header + Data + Footer
      sendGeneric(kBoschHdrMark, kBoschHdrSpace,
                  kBoschBitMark, kBoschOneSpace,
                  kBoschBitMark, kBoschZeroSpace,
                  kBoschBitMark, kBoschFooterSpace,
                  data + offset, kSectionByteSize,
                  kBoschFreq, true, 0, kDutyDefault);
    space(kDefaultMessageGap);  // Complete guess

is syntactically exactly the same as:

   for (uint16_t offset = 0; offset < nbytes; offset += kSectionByteSize) {
     // Section Header + Data + Footer
     sendGeneric(kBoschHdrMark, kBoschHdrSpace,
                 kBoschBitMark, kBoschOneSpace,
                 kBoschBitMark, kBoschZeroSpace,
                 kBoschBitMark, kBoschFooterSpace,
                 data + offset, kSectionByteSize,
                 kBoschFreq, true, 0, kDutyDefault);
   }
   space(kDefaultMessageGap);  // Complete guess

@NicoThien
Copy link
Contributor Author

Is your setup transmitting other protocols successfully?

Yes

What code & circuit are you using?

I am using Tasmota 11.0.0.4 (I changed the "IRremoteESP8266" folder and compiled a new firmware.)
The circuit is an "auvisio universal remote control".
I send via console: IrSend {"Protocol":"BOSCH144","Bits":144,"Data":"0xB24DFF0000FFB24DFF0000FFD514001000F9","Repeat":0}
IR-LED no reaction
I send: IrSend {"Protocol":"COOLIX","Bits":24,"Data":"0xB27BE0","DataLSB":"0x4DDE07","Repeat":0}
IR-LED flashes (very good to see with the cell phone camera)

@crankyoldgit
Copy link
Owner

I think there is "more to it" if you want to get it working in Tasmota. Not sure. You may also not be using the branch of the library required. i.e. You may have a Tasmota problem, not this library per se.

Please use a simple example (appropriately modified) such as: https://github.com/crankyoldgit/IRremoteESP8266/blob/master/examples/IRsendDemo/IRsendDemo.ino

@NicoThien
Copy link
Contributor Author

NicoThien commented Jun 13, 2022

IRsendDemo is working

Edit: Tasmota converts the data string to a uint64, not an array.

crankyoldgit added a commit that referenced this issue Jun 16, 2022
* Added `sendBosch144()` & `decodeBosch144()`
* TODO: Add integrity (strict) checks.
* Add basic unit test coverage.

For #1787
@NicoThien
Copy link
Contributor Author

NicoThien commented Jun 27, 2022

I want to use commands like IRhvac {"Vendor":"Bosch144","Power":"on","Temp":23,"Mode":"Cool","FanSpeed":"low"} in Tasmota. I have looked at many files and have now created my own (copy/paste and a few thoughts of my own ;-). It's not all complete yet. But the basic things work. My programming skills are limited. I'm a little unsure if I can help with that.

@NicoThien
Copy link
Contributor Author

@crankyoldgit many, many thanks for your support

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
Projects
None yet
Development

No branches or pull requests

2 participants