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

Adding support for A/C Trotec PAC 3550 Pro #1563

Closed
cool-lox opened this issue Aug 12, 2021 · 24 comments · Fixed by #1566
Closed

Adding support for A/C Trotec PAC 3550 Pro #1563

cool-lox opened this issue Aug 12, 2021 · 24 comments · Fixed by #1566
Assignees

Comments

@cool-lox
Copy link

Comming from discussion board, here is my new request for adding support A/C Trotec PAC 3550 Pro.

For analyses I used : https://github.com/ToniA/Raw-IR-decoder-for-Arduino with Nano3. This was for me very helpful as it gave header info and a nice 0/1 bit structure makes it easier for me to analyse single bits. See in this sheet, may it is helpful for others too.

https://docs.google.com/spreadsheets/d/1j4H1TDJ2QRFLPnls_sxkTZ3c9922TWxqIxwyGWwBIn0/edit?usp=sharing

I can help further if other code records are needed. I think last 5% of analytics are necessary.

My workaround in absense of impleted protocol is working with Tasmota IR raw send command like :
Irsend raw,0,12024,5096,550,484,1910,010101010010001100000000000001010000000000000000001100011000100000110110

Thanks

@crankyoldgit
Copy link
Owner

Please try out the code in branch: https://github.com/crankyoldgit/IRremoteESP8266/tree/Trotec3550 and let me know how it goes for you.

It's only basic support (simple send & receive) of a state array at present. I'll add the detailed support later for individual settings etc

X-Ref: #1507 .

@cool-lox
Copy link
Author

Mhh, I´m not excat sure how I should test it? Send the TurnOnTrotecAC.ino in e.g. Wemos D1 with IR-LED and let it run ?

@crankyoldgit
Copy link
Owner

A simplistic approach to testing it:

  1. Download/clone the latest copy of branch https://github.com/crankyoldgit/IRremoteESP8266/tree/Trotec3550
  2. Depending on your build environment, replace the existing library with the new copy. e.g. https://github.com/crankyoldgit/IRremoteESP8266#manual-installation-for-windows
  3. Build the IRrecvDumpV2 or V3 example code, and flash it to an ESP with an IR demodulator/receiver.
  4. Test the program/library can detect your remote as a TROTEC_3550 protocol.
  5. Record/write down the TROTEC_3550 state[9] lines for a given remote action that you want to replay.
  6. Modify the IRsendDemo.ino example to include the new state[] line you collected, and use irsend.sendTrotec3550(state); to send the message. e.g. like the existing samsungState/sendSamsungAC() lines in the example code.
  7. See if your A/C responds.

Or .. replace the copy of the library inside Tasmota's source with the one from this branch, and and rebuild Tasmota.

Note: This doesn't give you the ability to set temperatures like other protocols ... yet.

@cool-lox
Copy link
Author

cool-lox commented Aug 13, 2021

Meanwhile I downloaded ../tree/Trotec3550.zip and replaced older IRremoteESP libraries and load TurnOnTrotecAC to a Wemos D1 and a IR LED via NPN Transistor. I see IR LED via Handy Video Mode working, and YTR IR Bridge receives something, but the A/C is not turning on.
Here some codes, ..
07:24:56.969 MQT: tele/IRbox/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":75,"Hash":72211079,"Repeat":0,"RawData":"+5945-7380+590-600+585-1570CdCdCfEdCdCdCdEdC-1565CdCfCfEdCdCfCdCdCfEfCdCdEdCfCfEfCdCdCdCdCdCdCdCdCdEdCdEdCdEdCdEdEdCdCdCdCdCdCdEdEdCdCdCdCdEdCdCdEdCdCdCdEdCdCdEdCdCdEfCdCdE-6190C","RawDataInfo":[149,149,0]}}
07:25:02.085 MQT: tele/IRbox/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":75,"Hash":72211079,"Repeat":0,"RawData":"+5945-7380+590-600C-1570CdCdCe+585dCdFdFdFdCeFdCeCeCdCdCeCdFdFeFeFdCdFdCeCeCeCdCdCdCdCdCdCdFdCdCdCdFdCdFdCdFdFdCdFdCdFdFdFdCdCdCdCdCdFdCdCdCdCdFdCdF-605FdCdCdCdFdCdCeCdCdC-6190C","RawDataInfo":[149,149,0]}}
07:25:07.210 MQT: tele/IRbox/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":75,"Hash":72211079,"Repeat":0,"RawData":"+5940-7370+590-600+585-1570CdCdEfEdEdCdEdCdCfCdCfEfCdCdC-1565CdEdCfCfCdCdE-605EfEfEfEdCdCdCdCdEdCdCdCdEdEdEdCdCdEdCdCdEdCdEdCdCdCdCdCdCdCdCdCdCdCdEdCdCdCdCdCdCdEdCdEdCdEfEdEdC-6190C","RawDataInfo":[149,149,0]}}
07:25:12.330 MQT: tele/IRbox/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":75,"Hash":72211079,"Repeat":0,"RawData":"+5950-7370+590-605+585-1570E-600EgCfCgCgCgCgCgCfEgEfCfCgCgC-1565CgCgCfCfCgEgEgCfCfCfCgEdEgEgCgCgCgCgEgEgCgEgEdEgCgCgEgEgCgCgCgEgCgCgCgEgCgCgCgCgCgEgCgEgCgEgCgCgCgCgCgCgCfCgCgE-6190C","RawDataInfo":[149,149,0]}}
07:25:17.449 MQT: tele/IRbox/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":75,"Hash":72211079,"Repeat":0,"RawData":"+5950-7365+590-600C-1570+585dFdCeCdFdFdCdCdCeFdCeFeCdFdCeFdCdFeFeCdCdCdFeFeCeCdCdFdCdCdCdCdCdF-605FdCdCdFdFdCdCdFdCdFdCdCdCdCdCdCdCdCdFdFdFdCdCdFdCdCdFdCdCdFdCdCdFdCeCdFdC-6190C","RawDataInfo":[149,149,0]}}
07:25:22.578 MQT: tele/IRbox/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":75,"Hash":72211079,"Repeat":0,"RawData":"+5945-7380+590-600C-1570+585d+610-580FeFdF-605GhG-575GhG-1550FdG-1545FeFdFiFeCdGhGkGlFdFdIfCeCeGkGhGhFdFiFiFdGhGhGhFiIhCdGhGhCdFdGhFdIhFdCdFdFdFdFdCdFdIfGhFiIhGhFiIhFdCdGhCdGhFdGhCdI-1555GhFdG-6170C","RawDataInfo":[149,149,0]}}
07:25:27.700 MQT: tele/IRbox/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":75,"Hash":72211079,"Repeat":0,"RawData":"+5945-7370+585-600C-1570+590dFdFeCdFdC-605FdCdF-1565FdFeFeFdFdFeFdFdFeFeFdFdCdFeCeFeFdFdCdFdF-595FdFdFdFdFdFdFdCdFdFdFdFdFdFdFdFdFdFdFdCdFdFdFdFdFdFdFdCdCdFdCdFd+610-580FdFdFdCdFeCdFdF-6190F","RawDataInfo":[149,149,0]}}
07:25:32.826 MQT: tele/IRbox/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":75,"Hash":72211079,"Repeat":0,"RawData":"+5950-7370+585-600+590-1565EdEdE-1570EdEdEdE-605CdEgEdEgEfEdEdCgEdEdEgEgEdEdEdEfEgCgEdCdEdEdEdEdCdEdCdEdCdCdCdEdCdEdEdEdEdEdEdChCdCdCdEdChCdEdCdEdEdEdEdEdEdEdCdEdEdEdEdEgEdEdE-6190E","RawDataInfo":[149,149,0]}}

@crankyoldgit
Copy link
Owner

Meanwhile I downloaded ../tree/Trotec3550.zip and replaced older IRremoteESP libraries and load TurnOnTrotecAC to a Wemos D1 and a IR LED via NPN Transistor

TurnOnTrotecAC is using the TROTEC protocol, not the new TROTEC_3550 protocol. i.e. It will not work at all, nor is it expected too.

As for Tasmota, you'll need to compile the "full IR" version with that branch for it to work. (if you want help using/building Tasmota, you'll need to talk to them. Not here)
The standard Tasmota build supports only a small handful of IR protocols by default. Trotec certainly isn't one of them.

@cool-lox
Copy link
Author

Now I´m confused, I thought all of this will helps to bring in Model Pac 3550, here as a second device in Trotec section.
https://github.com/crankyoldgit/IRremoteESP8266/blob/master/SupportedProtocols.md
And can be later used also via Tasmota with IRhvac {"Vendor":"Trotec", "Model": "Pac 3550", "Power":"On","Mode":"Hot","FanSpeed":3,"Temp":22.5} for example.

@cool-lox
Copy link
Author

cool-lox commented Aug 13, 2021

With IRrecevDump2 I get this with command from original remote (18°C,cool,f3,swing=on)
08:40:40.317 -> Timestamp : 000084.000
08:40:40.317 -> Library : v2.7.19
08:40:40.317 ->
08:40:40.317 -> Protocol : TROTEC_3550
08:40:40.317 -> Code : 0x552300050000318836 (72 Bits)
08:40:40.364 -> uint16_t rawData[147] = {12038, 5102, 570, 474, 620, 1926, 568, 476, 616, 1928, 564, 480, 624, 1922, 572, 472, 622, 1922, 572, 472, 570, 474, 618, 1926, 568, 476, 566, 478, 564, 478, 624, 1922, 624, 1922, 572, 472, 570, 472, 570, 472, 570, 474, 568, 476, 566, 476, 566, 476, 564, 478, 574, 470, 572, 470, 572, 472, 570, 474, 568, 474, 618, 1926, 566, 478, 616, 1928, 576, 468, 574, 470, 572, 470, 572, 472, 570, 472, 570, 474, 568, 474, 568, 474, 566, 476, 566, 478, 564, 478, 574, 468, 574, 470, 572, 470, 572, 472, 570, 472, 570, 474, 568, 474, 618, 1928, 616, 1928, 566, 478, 566, 478, 574, 470, 624, 1922, 622, 1950, 544, 472, 568, 474, 568, 476, 616, 1928, 566, 478, 574, 468, 572, 470, 574, 470, 572, 472, 622, 1924, 622, 1924, 570, 476, 618, 1926, 618, 1928, 566, 478, 564}; // TROTEC_3550
08:40:40.411 -> uint8_t state[9] = {0x55, 0x23, 0x00, 0x05, 0x00, 0x00, 0x31, 0x88, 0x36};

and this when I push off:
08:43:39.760 -> Timestamp : 000263.456
08:43:39.760 -> Library : v2.7.19
08:43:39.807 ->
08:43:39.807 -> Protocol : TROTEC_3550
08:43:39.807 -> Code : 0x552100050000318834 (72 Bits)
08:43:39.807 -> uint16_t rawData[147] = {12032, 5108, 566, 480, 624, 1920, 572, 472, 622, 1924, 570, 472, 620, 1924, 568, 476, 618, 1928, 566, 478, 576, 470, 622, 1948, 546, 470, 572, 472, 570, 474, 568, 474, 618, 1926, 568, 476, 566, 478, 564, 478, 574, 470, 572, 470, 572, 472, 570, 472, 570, 472, 568, 474, 568, 476, 566, 476, 566, 476, 566, 478, 626, 1920, 574, 470, 622, 1922, 570, 472, 570, 474, 568, 476, 566, 476, 566, 476, 566, 478, 574, 470, 572, 470, 572, 472, 570, 472, 570, 474, 568, 476, 566, 476, 566, 476, 566, 478, 564, 478, 574, 468, 574, 470, 622, 1922, 622, 1922, 572, 472, 568, 474, 568, 476, 618, 1926, 618, 1928, 566, 476, 564, 478, 574, 470, 622, 1920, 572, 472, 570, 472, 570, 474, 568, 474, 566, 476, 616, 1930, 616, 1928, 564, 480, 624, 1920, 572, 472, 570, 472, 570}; // TROTEC_3550
08:43:39.853 -> uint8_t state[9] = {0x55, 0x21, 0x00, 0x05, 0x00, 0x00, 0x31, 0x88, 0x34};

@crankyoldgit
Copy link
Owner

crankyoldgit commented Aug 13, 2021

Now I´m confused, I thought all of this will helps to bring in Model Pac 3550, here as a second device in Trotec section.

Sadly, the settings bit locations, and protocol timings are so different from the existing TROTEC protocol, it is easiest to implement it as a new protocol. About the only significant thing that's the same is the number of bits in the message.

And can be later used also via Tasmota with IRhvac {"Vendor":"Trotec", "Model": "Pac 3550", "Power":"On","Mode":"Hot","FanSpeed":3,"Temp":22.5} for example.

You will be able to use it sort of like that soon. Except {"Vendor":"Trotec_3550", "Model": "-1", etc etc}

@crankyoldgit
Copy link
Owner

With IRrecevDump2 I get this with command from original remote (18°C,cool,f3,swing=on)
08:40:40.317 -> Timestamp : 000084.000
08:40:40.317 -> Library : v2.7.19
08:40:40.317 ->
08:40:40.317 -> Protocol : TROTEC_3550
08:40:40.317 -> Code : 0x552300050000318836 (72 Bits)
08:40:40.364 -> uint16_t rawData[147] = {12038, 5102, 570, 474, 620, 1926, 568, 476, 616, 1928, 564, 480, 624, 1922, 572, 472, 622, 1922, 572, 472, 570, 474, 618, 1926, 568, 476, 566, 478, 564, 478, 624, 1922, 624, 1922, 572, 472, 570, 472, 570, 472, 570, 474, 568, 476, 566, 476, 566, 476, 564, 478, 574, 470, 572, 470, 572, 472, 570, 474, 568, 474, 618, 1926, 566, 478, 616, 1928, 576, 468, 574, 470, 572, 470, 572, 472, 570, 472, 570, 474, 568, 474, 568, 474, 566, 476, 566, 478, 564, 478, 574, 468, 574, 470, 572, 470, 572, 472, 570, 472, 570, 474, 568, 474, 618, 1928, 616, 1928, 566, 478, 566, 478, 574, 470, 624, 1922, 622, 1950, 544, 472, 568, 474, 568, 476, 616, 1928, 566, 478, 574, 468, 572, 470, 574, 470, 572, 472, 622, 1924, 622, 1924, 570, 476, 618, 1926, 618, 1928, 566, 478, 564}; // TROTEC_3550
08:40:40.411 -> uint8_t state[9] = {0x55, 0x23, 0x00, 0x05, 0x00, 0x00, 0x31, 0x88, 0x36};

and this when I push off:
08:43:39.760 -> Timestamp : 000263.456
08:43:39.760 -> Library : v2.7.19
08:43:39.807 ->
08:43:39.807 -> Protocol : TROTEC_3550
08:43:39.807 -> Code : 0x552100050000318834 (72 Bits)
08:43:39.807 -> uint16_t rawData[147] = {12032, 5108, 566, 480, 624, 1920, 572, 472, 622, 1924, 570, 472, 620, 1924, 568, 476, 618, 1928, 566, 478, 576, 470, 622, 1948, 546, 470, 572, 472, 570, 474, 568, 474, 618, 1926, 568, 476, 566, 478, 564, 478, 574, 470, 572, 470, 572, 472, 570, 472, 570, 472, 568, 474, 568, 476, 566, 476, 566, 476, 566, 478, 626, 1920, 574, 470, 622, 1922, 570, 472, 570, 474, 568, 476, 566, 476, 566, 476, 566, 478, 574, 470, 572, 470, 572, 472, 570, 472, 570, 474, 568, 476, 566, 476, 566, 476, 566, 478, 564, 478, 574, 468, 574, 470, 622, 1922, 622, 1922, 572, 472, 568, 474, 568, 476, 618, 1926, 618, 1928, 566, 476, 564, 478, 574, 470, 622, 1920, 572, 472, 570, 472, 570, 474, 568, 474, 566, 476, 616, 1930, 616, 1928, 564, 480, 624, 1920, 572, 472, 570, 472, 570}; // TROTEC_3550
08:43:39.853 -> uint8_t state[9] = {0x55, 0x21, 0x00, 0x05, 0x00, 0x00, 0x31, 0x88, 0x34};

Excellent. Thanks for that. That means the basic decoding for the protocol is working as expected. I can now move on to adding detailed control, like adjusting settings.

I still need you to check you can transmit with sendTrotec_3550() so we know that part is working too.

crankyoldgit added a commit that referenced this issue Aug 13, 2021
* Add detailed & Common A/C API support for:
  - Power
  - Temp (excluding Fahrenheit)
  - SwingV
  - Mode
  - Fan Speed
  - Checksums
* Add and update Unit tests.

For #1563
@crankyoldgit
Copy link
Owner

I've just added a commit to that branch that adds detailed support based on the data/spreadsheet you've provided.

There are still aspects of your spreadsheet and analysis that are not clear or incomplete.
One of the things I need from you is a full sequence of temperatures when you've set the remote to Fahrenheit.

Please download and test it. This version should give you the support you want via Tasmota, if you build against this library.

Let me know what works, doesn't work, or is missing etc.

Note: We shouldn't need rawData[] from now on, just the state[] lines and the text descriptions.

@cool-lox
Copy link
Author

cool-lox commented Aug 13, 2021

So positive tested in IRsendDemo.ino 👍
...
uint8_t stateON[9] = {0x55, 0x23, 0x00, 0x05, 0x00, 0x00, 0x31, 0x88, 0x36}; // as above recorded
irsend.sendTrotec3550(stateON);
delay(5000);
uint8_t stateOFF[9] = {0x55, 0x21, 0x00, 0x05, 0x00, 0x00, 0x31, 0x88, 0x34};
irsend.sendTrotec3550(stateOFF);
delay(5000);
...

I have added the lines in excel for °F, if something else is missing please let me know.

Mhh, I never made my own build of Tasmota via ArduinoIDE, I thought so far it is too complex to include all right libs.
I´m struggeling with PlattformIO too :-( Mainly I used standard builds, like sensor, IR or so and modified needed parts with tasmocompiler (Gitpod). So not so easy to test....

@cool-lox
Copy link
Author

So, finally with ATOM I made my first own tasmota build with replaced your experimental code above. AND it works fine :-)

10:42:48.419 RSL: RESULT = {"IRHVAC":{"Vendor":"TROTEC_3550","Model":1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":18,"FanSpeed":"Medium","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}

Have not checked all parameter, but on off temp mode are working fine. THANKS for you great support.

@crankyoldgit
Copy link
Owner

I have added the lines in excel for °F, if something else is missing please let me know.

Excellent. I'll take a look tomorrow.

So, finally with ATOM I made my first own tasmota build with replaced your experimental code above. AND it works fine :-)

yay!

Have not checked all parameter, but on off temp mode are working fine. THANKS for you great support.

Looking forward to the feedback.

So positive tested in IRsendDemo.ino 👍

Thanks for confirming. I'll note that it works in the source.

crankyoldgit added a commit that referenced this issue Aug 14, 2021
* Add proper support for DegC and DegF
* Update `sendTrotec3550()` to STABLE.

For #1563
@crankyoldgit
Copy link
Owner

I've added proper Fahrenheit support in the latest commit to that branch.

@cool-lox
Copy link
Author

cool-lox commented Aug 15, 2021

So I have tested again, and it works fine. Just what I learned is that when I like to change single parameter like Temp 18->19 I have to give "Power On" parameter too, otherwise it went off by default. But I think so it is right implemented, not playing around with bit 58.. as the status if A/C was already On or not is not known.

@crankyoldgit
Copy link
Owner

So I have tested again, and it works fine. Just what I learned is that when I like to change single parameter like Temp 18->19 I have to give "Power On" parameter too, otherwise it went off by default. But I think so it is right implemented, not playing around with bit 58.. as the status if A/C was already On or not is not known.

I'm not sure I understand what you are saying. Can you please give data/examples?
The default state of the IRTrotec3550 class has the power off.

If you're only supplying one parameter in each JSON/IRHVAC tasmota object/message, then it may be only applying that one parameter, thus, yes, you would need to tell it to power on. But I don't know how Tasmota handles climate states etc. That's something you will need to talk to them about.

What is bit 58? I don't understand. Your spreadsheet lists it as U and U is defined as U=Um??!? Can you please explain this in much more detail. ref: https://docs.google.com/spreadsheets/d/1j4H1TDJ2QRFLPnls_sxkTZ3c9922TWxqIxwyGWwBIn0/edit#gid=2015400244&range=R71

Also, what is the maximum value for the timer? is it 8 hrs?

@crankyoldgit
Copy link
Owner

Oh ... FYI, the first Temp/TTTT in the message is in Degrees Celsius, the second one is Degrees Fahrenheit.

@cool-lox
Copy link
Author

cool-lox commented Aug 15, 2021

What I want to say, all lines 43-50 (with U) do not start the a/c however bit15 is set to 1, I assume it has to do with bit 58 if this is also "1" the a/c will ignore bit15. I collected the values when remote control display in on just changing temp + or -.
So U should be understand as change, no on, no off. But as said above all is working fine.
And yes max timer is 8h.

@crankyoldgit
Copy link
Owner

Ah ... Yes, I see now. I'll leave that bit (58) off/alone.

And yes max timer is 8h.

FYI, you got the number of bits for the Timer wrong. You can't fit 8 in 3 bits. e.g. 8 = 0b1000

crankyoldgit added a commit that referenced this issue Aug 15, 2021
@crankyoldgit
Copy link
Owner

The branch now has support for the Timer function. Please test if you can etc.

@cool-lox
Copy link
Author

So °F setting is working, but I´m struggeling with Timer setting, is this the "Sleep" command in IRhvac ? I played with it but does not work.

@crankyoldgit
Copy link
Owner

I´m struggeling with Timer setting, is this the "Sleep" command in IRhvac ? I played with it but does not work.

No, it's controlled by the setTimer() routine. e.g. ac.setTimer(60); // Set a 1 hour timer.
It's not connected to IRac's sleep as it isn't a sleep function. Thus, it isn't accessible via the IRac class which is what I think Tasmota's IRhvac uses.

Thanks for confirming the Fahrenheit settings/control works.

@crankyoldgit crankyoldgit removed the Pending Confirmation Waiting for confirmation from user label Aug 16, 2021
crankyoldgit added a commit that referenced this issue Aug 16, 2021
* Add `sendTrotec3550()` and `decodeTrotec3550()` routines.
* Add detailed & Common A/C API support for:
  - Power
  - Temp (Celsius & Fahrenheit)
  - SwingV
  - Mode
  - Fan Speed
  - Timer
  - Checksums
* Add and update Unit tests.

Ref #1507
Fixes #1563
crankyoldgit added a commit that referenced this issue Aug 28, 2021
_v2.7.20 (20210828)_

**[Bug Fixes]**
- Make `strToSwingH()` match "Right Max" (#1550 #1551)

**[Features]**
- Experimental Bose remote support (#1579)
- Added MitsubishiAC VaneLeft (#1572 #1576)
- HAIER_AC176: Add experimental detailed support (#1480 #1571)
- Detailed support for Tornado/Sanyo 88-bit A/C protocol (#1503 #1568)
- Add support for new `TROTEC_3550` A/C protocol (#1563 #1566 #1507)
- SamsungAc: Use `sendExtended()` going forward. (#1484 #1562)
- SamsungAc: Redo/fix checksum calculations. (#1538 #1554)
- LG: Add support for `AKB73757604` model (#1531 #1545)
- Daikin176: Add support for Unit Id. (#1543 #1544)
- Daikin2: Add support for Humidity setting/operation. (#1535 #1540)
- TCL112AC: Add support for quiet/mute setting. (#1528 #1529)
- LG2: Add Fan speed, Swing, & Light support for new `AKB74955603` model (#1513 #1530)
- Add Mitsubishi AC "fan only" mode (#1527)

**[Misc]**
- Fix pylint issues due to pylint update. (#1569 #1570)
- DAIKIN216: Update supported models. (#1552 #1567)
- IRMQTTServer: Build a minimal OTA image via PlatformIO. (#1513 #1541)
- Reduce memory fragmentation cause by String usage. (#1493 #1536)
- Refactor `decodeMitsubishiAC()` (#1523 #1532)
- Fix incorrect comment.
- Migrate from Travis to GitHub Actions (#1522 #1526)
- Documentation update with additional supported Panasonic AC models (#1525)
crankyoldgit added a commit that referenced this issue Aug 28, 2021
_v2.7.20 (20210828)_

**[Bug Fixes]**
- Make `strToSwingH()` match "Right Max" (#1550 #1551)

**[Features]**
- Experimental Bose remote support (#1579)
- Added MitsubishiAC VaneLeft (#1572 #1576)
- HAIER_AC176: Add experimental detailed support (#1480 #1571)
- Detailed support for Tornado/Sanyo 88-bit A/C protocol (#1503 #1568)
- Add support for new `TROTEC_3550` A/C protocol (#1563 #1566 #1507)
- SamsungAc: Use `sendExtended()` going forward. (#1484 #1562)
- SamsungAc: Redo/fix checksum calculations. (#1538 #1554)
- LG: Add support for `AKB73757604` model (#1531 #1545)
- Daikin176: Add support for Unit Id. (#1543 #1544)
- Daikin2: Add support for Humidity setting/operation. (#1535 #1540)
- TCL112AC: Add support for quiet/mute setting. (#1528 #1529)
- LG2: Add Fan speed, Swing, & Light support for new `AKB74955603` model (#1513 #1530)
- Add Mitsubishi AC "fan only" mode (#1527)

**[Misc]**
- Change when some github workflows run (#1583)
- Add/update supported device info (#1580 #1581 #1585)
- Fix pylint issues due to pylint update. (#1569 #1570)
- DAIKIN216: Update supported models. (#1552 #1567)
- IRMQTTServer: Build a minimal OTA image via PlatformIO. (#1513 #1541)
- Reduce memory fragmentation cause by String usage. (#1493 #1536)
- Refactor `decodeMitsubishiAC()` (#1523 #1532)
- Fix incorrect comment.
- Migrate from Travis to GitHub Actions (#1522 #1526)
- Documentation update with additional supported Panasonic AC models (#1525)
crankyoldgit added a commit that referenced this issue Aug 28, 2021
## _v2.7.20 (20210828)_

**[Bug Fixes]**
- Make `strToSwingH()` match "Right Max" (#1550 #1551)

**[Features]**
- Experimental Bose remote support (#1579)
- Added MitsubishiAC VaneLeft (#1572 #1576)
- HAIER_AC176: Add experimental detailed support (#1480 #1571)
- Detailed support for Tornado/Sanyo 88-bit A/C protocol (#1503 #1568)
- Add support for new `TROTEC_3550` A/C protocol (#1563 #1566 #1507)
- SamsungAc: Use `sendExtended()` going forward. (#1484 #1562)
- SamsungAc: Redo/fix checksum calculations. (#1538 #1554)
- LG: Add support for `AKB73757604` model (#1531 #1545)
- Daikin176: Add support for Unit Id. (#1543 #1544)
- Daikin2: Add support for Humidity setting/operation. (#1535 #1540)
- TCL112AC: Add support for quiet/mute setting. (#1528 #1529)
- LG2: Add Fan speed, Swing, & Light support for new `AKB74955603` model (#1513 #1530)
- Add Mitsubishi AC "fan only" mode (#1527)

**[Misc]**
- Change when some github workflows run (#1583)
- Add/update supported device info (#1580 #1581 #1585)
- Fix pylint issues due to pylint update. (#1569 #1570)
- DAIKIN216: Update supported models. (#1552 #1567)
- IRMQTTServer: Build a minimal OTA image via PlatformIO. (#1513 #1541)
- Reduce memory fragmentation cause by String usage. (#1493 #1536)
- Refactor `decodeMitsubishiAC()` (#1523 #1532)
- Fix incorrect comment.
- Migrate from Travis to GitHub Actions (#1522 #1526)
- Documentation update with additional supported Panasonic AC models (#1525)
@crankyoldgit
Copy link
Owner

FYI, the changes mentioned above have been included in the just released v2.7.20 of the library.

@cool-lox
Copy link
Author

Great, thanks for implementation and work on this together.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants