-
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
[Toshiba AC] I want Tasmota to understand the reception of swing mode. #1424
Comments
* Try to ignore changing the `IRac` class temp when we get a swing command. * May fix some upstream implementations & setups. e.g. Tasmota & Home Assistant. - Can't hurt at least. Fixes #1424
FYI, I've just updated the branch again. Can you please try out branch https://github.com/crankyoldgit/IRremoteESP8266/tree/Issue1423 (yes, same as the other issue) and let me know how it goes with this. Fingers crossed it works for you. If it doesn't, it may require changes in Tasmota, not this library. |
@crankyoldgit I tried it with the latest https://github.com/crankyoldgit/IRremoteESP8266/tree/Issue1423, but the crash still doesn't go away. I will verify the Tasmota source code. |
Well, without more info/data, I don't think I can trace it down to any part of the library. |
I'm so sorry. The crash was due to my mistake. IRac.cpp was not updated. I'm sorry to confuse you. As a result, all functions worked fine. No need to change Tasmota, Home Assistant. Thank you very much for your wonderful support! |
@crankyoldgit I found one problem.
|
* Add checks for if we handle toggling an IRac state correctly if we receive a IR swing toggle message. Ref: #1424 (comment)
Can you please supply data and elaborate on this? (including how you've worked this out) I've added some unit tests to simulate what should happen in this scenario, and I can't seem to reproduce your problem. See: b4596e6 i.e. It might be a tasmota problem. Not sure yet. |
Yes, I took the data. I haven't solved this yet. Ignore the "Clock" and "Weekday" in the data as they are my customizations. Please let me know if you need uncustomized data.
My guess is that the library doesn't seem to switch the current state of the swing when it receives the swing data via Tasmota. However, it seems to work correctly in the test. If via Tasmota, is there any effect of transmitting a 56-bit signal following a 72-bit signal? |
Thanks for the data. Looking at the data, and this is only an educated guess without pouring over the Tasmota code, I think Tasmota is not passing the correct "previous"/existing known state of the A/C to If Tasmota doesn't. The default for IRremoteESP8266/src/ir_Toshiba.cpp Lines 429 to 434 in b4596e6
TL;DR: I don't think this is the Library's problem anymore. It's now the problem of the code/project that uses the library, I think. |
@crankyoldgit Thanks you. I will check the source code of Tasmota. |
If the IR transmission is successful, it should save the current status. If you do not save the current state and notify it next time, the toggle function data will be inconsistent. see. crankyoldgit/IRremoteESP8266#1424
@crankyoldgit After all, Tasmota had the cause of this problem. So I created a PR. Thank you very much! 👍 |
* Add support for the Swing Toggle setting. - Turns out there is another setting for swing. This means it needs to grow from 2 bits to 3 bits. Adjustments as needed. * Fix potential memory crash issue with `setRaw()` - Make `setRaw()` memory safer by passing a length arg. - Update calls to `IRToshibaAC::setRaw()` * Unit test coverage. Fixes #1423 * Try to ignore changing the `IRac` class temp when we get an inbound swing IR command. * May fix some upstream implementations & setups. e.g. Tasmota & Home Assistant. - Can't hurt at least. (Famous last words) Fixes #1424
Glad you found the problem. |
_v2.7.16 (20210324)_ **[Features]** - ToshibaAC: Swing handling and `setRaw()` improvements. (#1423 #1424 #1425) - Support for XMP (Xfinity) protocol. (#1414 #1422) - ToshibaAC: Adjust inter-message gap timing to improve matching. (#1420 #1421) - Ecoclim: Add detailed A/C support (#1397 #1415) **[Misc]** - [ESP32] Fix `addApbChangeCallback(): duplicate func` kernel msgs (#1434 #1435) - refactor ir_Fujitsu (#1419) - refactor ir_Whirlpool (#1416) - refactor ir_Vestel (#1413) - refactor ir_Trotec (#1412)
## _v2.7.16 (20210324)_ **[Features]** - ToshibaAC: Swing handling and `setRaw()` improvements. (#1423 #1424 #1425) - Support for XMP (Xfinity) protocol. (#1414 #1422) - ToshibaAC: Adjust inter-message gap timing to improve matching. (#1420 #1421) - Ecoclim: Add detailed A/C support (#1397 #1415) **[Misc]** - [ESP32] Fix `addApbChangeCallback(): duplicate func` kernel msgs (#1434 #1435) - refactor ir_Fujitsu (#1419) - refactor ir_Whirlpool (#1416) - refactor ir_Vestel (#1413) - refactor ir_Trotec (#1412)
FYI, the aforementioned changes have been included in the new v2.7.16 release for the library. |
Version/revision of the library used
v2.7.15
Describe the bug
This is not a bug.
The Toshiba air conditioner library treats the temperature as 17 ° C when receiving an IR signal in swing mode.
Tasmota publishes an MQTT message based on the temperature information, so the client who receives the MQTT recognizes that the temperature has been changed to 17 ° C.
Therefore, I wanted to include an MQTT message that the reception was in swing mode in some way. My idea is to use state.model. In the case of Toshiba air conditioner, the fixed value is "Model": -1, but in the swing mode, it is "Model": 0. I don't know if that's a good idea.
However, I would like to somehow announce in an MQTT message that I am receiving swing mode.
Output of raw data from [IRrecvDumpV2.ino]
Heat, 20℃, ON
Heat, 20℃, Off
Swing On/Off
Swing Step
What brand/model IR demodulator are you using?
VS1838B
Circuit diagram and hardware used (if applicable)
Link to an image of the circuit diagram used. Part number of the IR receiver module etc. ESP8266 or ESP32 board type.
I have followed the steps in the [Troubleshooting Guide]
Yes
The text was updated successfully, but these errors were encountered: