-
Notifications
You must be signed in to change notification settings - Fork 836
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 Remotes AR-RAH2U and AR-REG1U #1780
Comments
Alas, it is the same thing from the actual messages point of view. IRremoteESP8266/src/ir_Fujitsu.h Line 83 in 434582a
IRremoteESP8266/src/ir_Fujitsu.h Lines 217 to 218 in 434582a
IRremoteESP8266/src/ir_Fujitsu.cpp Lines 570 to 597 in 434582a
There is little I can do programmatically to tell which remote generated the message & what the destination device is, from just the discrete IR message. If you want to control the "Min Heat"/"10C Heat" option, via Tasmota (which uses the I'll try see if it is safe to add Clean/10C heat to the model you're using without it breaking other people's usage.
I'll also look into if I can better use the previous state for any Fujitsu A/C messages when using the Unfortunately Fujitsu A/C support being one of the oldest supported by this library, and the {cough} fun way that Fujitsu implemented their protocol, it will take some time to work it out. i.e. Don't hold your breath. A minor change in that Protocol takes a LOT of work.
As indicated, this may not be easy or possible, given the mess of the protocol implementation. i.e. Not being able to tell a "clean" from a "10C Heat" message reliably. Note: The "10C Heat", and other special functions like that are not supported via the Btw, thanks for the detailed "Issue report", it is really appreciated. :-) |
Thanks for a great response. I appreciate all the hard work you've put into this project and helping people like me. Given most or all of the issues I am having won't be able to be fixed in this codebase, I'm hacking something together on the other end (been using Tasmota-IRHVAC custom component for Home Assistant, so I'm rewriting parts of that code to handle my particular AC remotes). In that pursuit, could you help me with a couple basics?
Any help you could provide on those two would be greatly appreciated, and I'll come back to post my work if I can get it functional. If none of it can work, then perhaps I'll try to switch to a Home Assistant component and something like ESPHome that can speak directly to your codebase instead of using MQTT. |
First off, have patience. :-)
See: Lines 119 to 131 in 434582a
Also, patience. You may yet get your own model number. In short, use the model number that works for your device, and has the feature set they matches closest. IRrecvDump etc works on a single message, it has no memory/state of what it has seen previously.
I can't speak for how Tasmota does things, you'll need to raise it with them. |
Try to better keep the settings if we can when using the `IRac` class interface, if supplied a previous state. This better handles the short commands that don't have most of the settings in them. Add unit tests to ensure it works as expected. For #1780
* If we only have info from a _real_ short (command only) message, don't report other settings. This makes text for single messages more accurate. If the Class's state has been modified synthetically, report all the settings. For #1780
Can you please download & try out branch https://github.com/crankyoldgit/IRremoteESP8266/tree/Issue1780 / PR #1784 and report back how it goes? This doesn't address your "sending a 10C heat message" issue for your model yet, but it should address some of your issues. Well, as long as Tasmota is doing things correctly w.r.t previous states when using |
FYI, looking at the model descriptions I listed earlier, I'd use |
@PostLogical Any luck? |
Sorry for the delay. Little guy has been taking all my free time of late. I tested it out with the IRrecvdumpV2 code and with Tasmota. It looked like it was working great in IRRecvDumpV2, but it does not seem to work in Tasmota. The IRHvac command still appears and it has the default numbers like 16C. I'll go ahead using Model 5 for my remote. And I'm happy to test any further changes to see how they work out. For now, I've forked the Tasmota-IRhvac code for home assistant and modified it to my purposes: Tasmota-IRhvac for Fujitsu. I think I've got everything working well except perhaps the 10C mode which needs more attention. Since I only have the two remote types to worry about, I just hard coded some of the key elements. I also implemented preset_modes so there's a way to send the commands in the first place (Tasmota-IRhvac didn't have them yet except a weird away temp mode). |
No worries. Can you please provide the complete sequences of message (i.e. the |
@PostLogical Been a week, just chasing up on the requested info. |
* add previous state support to `toCommon()` Try to better keep the settings if we can when using the `IRac` class interface, if supplied a previous state. This better handles the short commands that don't have most of the settings in them. Add unit tests to ensure it works as expected. * Change `toString()` behaviour. If we only have info from a _real_ short (command only) message, don't report other settings. This makes text for single messages more accurate. If the Class's state has been modified synthetically, report all the settings. For #1780
Here are the all the bits of info I get from IRRecvDumpV2 using the 1780 code: Issue 1780 Remote Code States. Thanks! |
* Better detect 10C heat mode. * Report the temp as 10C when we detect it. * Allow 10C heat mode to be activated via `IRac` interface. - Requires the following settings to activtate: - Suitable model (e.g. ARRAH2E or ARREW4E) - Mode: Fan - Fan Speed: Auto - Clean: True - SwingV: Off - SwingH: Off * Update supported fujitsu models. * Unit tests adjusted and added. For #1780
Okay, I've deleted and recreated a branch for you to test out: https://github.com/crankyoldgit/IRremoteESP8266/tree/Issue1780 / PR #1788 Hopefully this should detect 10C heat mode (min heat) and allow you to send it via Protocol: FUJITSU (of course) The temp (degrees) will be ignored when using those settings. See: IRremoteESP8266/test/IRac_test.cpp Lines 661 to 676 in bc813cd
Can you please let me know how all of that goes for you? |
Merging the PR because of no feed back for almost 3 weeks. |
* Better detect 10C heat mode. * Report the temp as 10C when we detect it. * Allow 10C heat mode to be activated via `IRac` interface. - Requires the following settings to activtate: - Suitable model (e.g. ARRAH2E or ARREW4E) - Mode: Fan - Fan Speed: Auto - Clean: True - SwingV: Off - SwingH: Off * Update supported fujitsu models. * Unit tests adjusted and added. For #1780
Marking this stale as there has been no response after a month. |
_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)
**_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)
FYI, the changes mentioned above have now been included in the new v2.8.3 release of the library. |
Version/revision of the library used
v2.8.2
Describe the bug
Please support the Fujitsu Remotes: AR-RAH2U and AR-REG1U.
Both remotes AR-RAH2U and AR-REG1U are supported in their basic 128 bit functions already (they are recognized as Model 1 - AR-RAH2E). The issues are just with 56 bit commands and the Min Heat function.
56 Bit commands work, but are not all part of Model 1 (I may be missing some aspects of how this should work, so please educate me as necessary), and they all have the effect of setting all other settings like Temp, Fan, etc to 16C, Auto, etc (for Off, this does not seem to matter, but the others are an issue). For instance, on the AR-REG1U there is a Powerful button, and when I use the Remote to hit Powerful, it is interpreted as a Model 3 command with default lowest settings (Model: 3 (ARREB1E), Id: 0, Power: On, Mode: 0 (Auto), Temp: 16C, Fan: 0 (Auto), Clean: Off, Filter: Off, Swing: 0 (Off), Command: Powerful, Outside Quiet: Off, Timer: Off). As a result, my Home Assistant thinks the heat pump is set to 16C, Auto, etc. rather than whatever it is actually set to.
Also, both these remotes have a Min Heat button that registers as a Model 5 command for Clean with the rest of the settings to whatever was already in there.
To Reproduce
I set up Tasmota_IR-flashed IR blasters (Uniplay IR Blaster made by Tuya and sold on Amazon so it is old stock that still has ESP8266) for my Fujistu heat pumps. Carefully testing all of the possible settings, the Tasmota recognized all the regular 128 bit commands as Model 1, and issuing those commands almost certainly works (there is no way of checking the heat pump for what it is doing, so used crude checks like setting the heat really low and then really high to see if it got warmer, which it did, and switching between modes to see if it started cooling instead of heating).
When entering 56 bit commands from the OEM remote, the results were mixed. So I set up a basic receiver circuit using a Wemos D1 Mini, an IR Receiver module from KOOBOOK (https://www.amazon.com/dp/B07S66T3WT?psc=1&ref=ppx_yo2_dt_b_product_details), and IRRecvDumpV2 from the codebase V2.8.2. I copied the pertinent results in a GSheet. I included the timer functions, but those are probably all working as designed for Model 1 (the output from Tasmota was not right or helpful, but that's not something you can fix for me I assume – I'll keep working to see if I'm doing something wrong there or how to fix it, but I welcome any tips as the Tasmota results currently don't change anything in the IRhvac results).
Here are photos of the remotes: https://imgur.com/a/c50W72l
The AR-REG1U remotes are controlling ASU9RLF1 indoor units connected to an AOU36RLXFZH outdoor unit.
One AR-RAH2U remote is controlling an ASU18RLF indoor unit connected to the same outdoor unit.
The other is controlling an ASU24RLF indoor unit connected to an AOU24RLXFWH outdoor unit.
Example code used
Used IRRecvDumpV2 to further analyze the differing commands after using Tasmota_IR to analyze the basic 128 bit commands.
Expected behaviour
The 56 bit commands should not reset any of the other settings that they aren't touching. The Min Heat command should set Min Heat instead of calling Model 5's Clean function. It should also probably show temp as 10C/50F instead of inheriting the last normal temp.
Output of raw data from IRrecvDumpV2.ino
Google Sheet FUJITSU_AC AR-RAH2U and AR-REG1U Remote Codes
I have followed the steps in the Troubleshooting Guide & read the FAQ
Yes
Other useful information
I appreciate any help you can offer, whether that is refiguring code, telling me what I'm doing wrong/how to do it right, or helping me to fix this myself. I can try to code this myself and submit a PR, but I don't yet understand how the Fujitsu differentiating code fully works. Happy to provide more details or do other work as is helpful.
The text was updated successfully, but these errors were encountered: