-
Notifications
You must be signed in to change notification settings - Fork 835
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
Support for Fujitsu Remote AR-REW4E Unit: ASYG09KETA-B #1455
Comments
Could you please convert that to a standard Google "Sheets" document, rather than just an xlsx file in future.
Mostly correct. For Fujitsu, we store it in a array where the bytes are LSBF, but the order of the bytes is "first byte received is Could you please use the IRrecvDumpV2 or V3 programs to capture the data please, it should detect it as For example: uint8_t state[16] = {0x14, 0x63, 0x00, 0x10, 0x10, 0xFE, 0x09, 0x31, 0x50, 0x01, 0x00, 0x21, 0x03, 0x20, 0x20, 0x1A}; which btw, will be detected as When you've recaptured/converted your spreadsheet to use that format (pref the On the plus side, your model is using the same checksum format etc and possible shares some of the other settings with other models, so there might be less work involved. Let me know when you've done all that, and I'll take another look. Sorry for the extra work. |
* Add `setId()` & `getId()` for controlling multiple A/C units in the same area. * Add/update unit tests. Ref: #1455
* Wrong bit location. * Add unit test data for known different ID. Ref #1455
You're going to have to describe what every bit in that byte does. What the library doesn't yet have mapped is the 3 bits between the Temp and the Power bits. |
Hi David, Thanks, and no worries at all about the extra work.
Apologies, Google sheets natively supports editing xlsx now, however it appears not to like it when they are shared with only comment access, it has now been converted to a native GSheet and the link updated. https://docs.google.com/spreadsheets/d/1KjFjIR5t2H42aRd-hv-SXi3-BNQVS5lQSXefCTy6r6c/edit?usp=sharing
I have used a formulae to convert the existing codes to a I am having an issue getting the IRrecvDump to consistently recognise it as Fujitsu, some commands it does (albeit the wrong mesg desc) but more often than not I am getting it as unknown hence doing it like this originally and using the python tool to convert the raw to the LSB Hex.
In regards to Byte 7 or Byte 8 as it is when in the correct state order, I will have a look into the bitmapping of it and try to figure out what it is doing, and report back once I have something. |
* Use `matchGeneric()` where we can. * Change the data header check to allow for different device IDs. * Add check to Unit tests & minor clean up. For #1455
* Add unit test (poor signal) For #1455
That's because your signal/capture is a bit on the poor side (and if you use the Remote ID thing it won't recognise it with the currently released library). i.e. You've got some values in your rawData that are out of spec for the protocol. Anyway, I've tweaked the library a bit to make it capture your above signal and handle capturing when you change the Remote's Identifier ID 0-3/A-D etc. Please download & try out branch |
Cheers, I'll download and stick that one in. What data are you wanting from me, the temperature stuff? |
Yep. That's the starting place for me. Decoding/explaining what each bit of your "Temp bin" column. i.e. What it does, how it works, what effects it has. Oh and the calc/formula for generating the "displayed" temp from the temp in the byte/binary. |
Fab, that update looks to be consistently reading it as a FUJITSU_AC ARRAH2E Mode, Fan, Swing, Econ, Powerful, Outside Quiet, Set Louvre and Remote Code all seem to be recognised correctly, just looks to be the Temp (as we know) and the 10degree heat button it is not happy with at the moment I'll try and get my head around the temperature byte and figure out what's going on. Thanks :-) |
So, I think I have got to the bottom of the Temp Byte. The last 2 bits are the Power flag as you said the others use, and the temperature unit ie F or C Where the least significant bit is labelled as bit 8 and the most significant bit is labelled as bit 1.
Now this is where things get interesting, as what the remaining 6 bits do/how they convert depend on the temperature unit. Celsius
|
Does your AC/remote have a clean, & filter settings? |
and does it have horizontal fan swing control? |
No clean or filter settings that I can see, and no horizontal swing or control, just the standard vertical swing/control. There is a photo of the remote and all it’s buttons linked in the original post, if you need it. |
* Add experimental support for Fahrenheit too. For #1455
I've just updated that branch. It should now detect your model number correctly (I hope), and handle the temperature (inc. half deg C, and Fahrenheit) Please download and try it out. Let me know what does/doesn't work etc etc. |
Thanks for that :-)
I also tried the power on fujitsu example, and it turns on my unit, however the unit itself has no temperature display (only the display on the IR Remote) that is going to make it difficult to know if it is set to the right temperature for example. |
* Allow Powerful & Economy settings. * Add draft swing settings display/control (To be verified) * Update unit tests. For #1455
Update unit tests as well For #1455
* Allow OutsideQuiet codes to be built for ARREW4E. For #1455
Should be fixed now.
Can you please provide the
Correct. But can you please again, supply the corresponding I've also fixed being able to set Powerful/Econo for your model too.
I've added displaying of swing stuff to ARREW4E, let me know how that goes. (Untested thus far) Again, please supply the I've committed a bunch of fixes to that branch (as per above) that should address a number of issues. Please download & re-test etc. Fingers crossed some of them work correctly. |
Thanks for this, apologies for the delay getting back to you, hectic week. The half degrees are now showing as expected. I've put all the state codes/byte breakdowns in the spreadsheet in the tab called 'Further Testing 2021-04-10'
10 Degree Heat:
Power Off: Step Swing: Powerful: Eco: For all the non state/button press sends, the remote ID is still using byte 2.
Swing: - It is now being detected correctly with the right model shown, but I've included the state code below |
* Add `set10CHeat()` & `get10CHeat()` * Limit native Fahrenheit support to ARREW4E only until we work out how it works for other models. * Add & update unit tests. For #1455
I think I've worked out & implemented the 10C Heat mode/setting correctly in the latest commit to that branch. It overlaps with the "Clean" setting on some other models. Please download & test away. I checked the other short message/states. They appear to be identical across all models. So, nothing I can do to detect your model info from them. Hopefully, that's the last of the changes for your |
Thanks again for this. Right, (this is my bad apologies) I haven't been able to test the sending properly as I was waiting for my other ESP to arrive to have a sender and a receiver, only the receiving until today. (other than very briefly the power on example with the aircon unit itself other day) The state based sending (other than the 10deg heat) all look to be working as expected and sending the right data. However the static sends none of them seem to work. From modifying the TurnOnFujitsuAC I've managed to get the following findings. ac.setCmd(kFujitsuAcCmdTurnOff); ac.setCmd(kFujitsuAcCmdStepVert); ac.setCmd(kFujitsuAcCmdEcono); ac.setCmd(kFujitsuAcCmdPowerful); In all of these it looks like an issue with the last byte, I don't know if that's some kind of checksum generation that incorrectly generating for these static codes. 10 Degree Heat |
* Add Model to list that has the last byte inverted. * Unit tests to make sure it doesn't happen again. * Fix a typo Ref: #1455 (comment)
* Data from the original remote indicates we need to set the fan to auto & turn off swing to properly enter 10 Dec Heat mode. * Unit test coverage. For #1455 (comment)
I've fixed the "short" code issue (I missed something in the checksum calc.), and the "Byte 10" issue with 10 Degree Heat (I guess neither of us noticed it sets/requires the Fan to be in Download & try it out again please. |
Ping @BillyAB Have you had a chance to test out the improvements? |
Apologies @crankyoldgit I’ve not had chance this week, it’s my plan for tomorrow (Saturday) |
No worries. The PR is just pending your confirmation now. ;-) |
I've tested several combinations of the normal long codes and all seems good, my unit is reacting in the way you would expect (given it has no display), I've also tested the short codes applicable to my model and they now seem to be working as we'd expect :-) Thanks again for you work on this, and do let me know how I can buy you a beer (or coffee)! |
Excellent. Thanks for confirming.
If you're ever in Brisbane, Australia I'll take you up on that beer, as long as you have one too! |
* All Models: - Add `setId()` & `getId()` for controlling multiple A/C units in the same area. (`IRFujitsuAC` class only) - Relax tests in `decodeFujitsu()` to match different IDs. - Tweak timing tolerance for `decodeFujitsu()` to improve matching. * `ARREW4E` models - Support new temperature setting style. * Half degrees (Celsius) e.g. `25.5` * Native Fahrenheit support. * Allow _Outside Quiet_, _Powerful_, & _Economy_ settings. * Add support for _10C Heat_ setting. (`IRFujitsuAC` class only) * Improve header messages in generated `IRtext.h` Fixes #1455
_v2.7.17 (20210418)_ **[News]** - The library now supports 100 IR protocols! \o/ **[Bug Fixes]** - Fix `IRAcUtils::decodeToState()` for different length Samsung msgs (#1447 #1448) **[Features]** - Fujitsu: Add support for `ARREW4E` model. (#1455 #1456) - Experimental detailed support for Truma A/Cs. (#1440 #1449) **[Misc]** - Fix Arduino library linter issues. (#1451 #1452 #1453 #1460)
## _v2.7.17 (20210418)_ ### **[News]** - The library now supports 100 IR protocols! \o/ **[Bug Fixes]** - Fix `IRAcUtils::decodeToState()` for different length Samsung msgs (#1447 #1448) **[Features]** - Fujitsu: Add support for `ARREW4E` model. (#1455 #1456) - Experimental detailed support for Truma A/Cs. (#1440 #1449) **[Misc]** - Fix Arduino library linter issues. (#1451 #1452 #1453 #1460)
_v2.7.17 (20210420)_ **[News]** - The library now supports 100 IR protocols! \o/ **[Bug Fixes]** - Fix `IRAcUtils::decodeToState()` for different length Samsung msgs (#1447 #1448) - Fix issues with installing the library under the Arduino IDE on Win10 & OSX (#1451 #1464) **[Features]** - Fujitsu: Add support for `ARREW4E` model. (#1455 #1456) - Experimental detailed support for Truma A/Cs. (#1440 #1449) **[Misc]** - Fix Arduino library linter issues. (#1451 #1452 #1453 #1460) - Reduce the library's zip download size. (#1451 #1463) - An experiment in using Github Actions to do some of the CI work. (#1462)
FYI, the changes mentioned earlier have been included in the latest release of the library. |
Version/revision of the library used
2.7.16
Describe the bug
I would like to please request support for Fujitsu remote AR-REW4E - the AC Unit Model is ASYG09KETA-B
Spreadsheet and Remote Photo
Spreadsheet of code decoding
https://drive.google.com/file/d/1fjsWo_svwjN5c7Q1KXlzSQetuaucmztj/view?usp=sharingNon XLSX GSheet https://docs.google.com/spreadsheets/d/1KjFjIR5t2H42aRd-hv-SXi3-BNQVS5lQSXefCTy6r6c/edit?usp=sharing
Picture of Remote https://imgur.com/a/OtS5eFO
Decoding Information
LSB First decoding seems to be the way.
Checksum Calculation
To calculate the checksum, it is the sum of LSB Bytes 1 to 7. This sum is then subtracted from 207, which is then Modulo to 256.
=DEC2HEX(MOD(207-SUM(HEX2DEC(**BYTES 1 to 7**)),256),2)
Non State Buttons
There are a couple of buttons that do not send the state, and just send the button press, these are:
These are covered on the "Normal Function Buttons" tab on the spreadsheet
If I can provide you with any more information, just let me know.
The text was updated successfully, but these errors were encountered: