-
Notifications
You must be signed in to change notification settings - Fork 68
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
Samsung AC - send "clean" only on power off #78
Comments
This issue has already been fixed in the IRremoteESP8266 v2.8.0 release. This is included in Tasmota 10.0.0.3 and later. |
Oh, I may have misunderstood. If your Tasmota is 10.0.0.3 or newer, we will need to do something on the Tasmota-IRHVAC side. |
@nao-pon - I updated to the latest version (12.1.1), and I am still seeing the same issue. The problem is that Tasmota-IRHVAC assumes that whatever command is sent to the AC is the full state. An absolutely normal assumption, and one that should work with pretty much every AC unit out there. However, this unit is kind of... "special" in the fact that it treats "clean" as a toggle. For now, I worked around the issue by always sending "clean: off" when using Tasmota-IRHVAC, and adding a HomeAssistant automation that sends an additional "clean: on" message whenever Tasmota-IRHVAC detects an "off" IR signal (coming either via Tasmota-IRHVAC, or from the original remote). It works reasonably well, but I would really appreciate the option of having more granular control over when Tasmota-IRHVAC sends the "clean": "on" message. On a similar note (and not really worthy of opening a separate issue for it) - is there a way of controlling the "Light" parameter via Tasmota-IRHVAC? It seems to always send "Light" : "on", which is a bit annoying on some of my devices. |
When I checked the source code of IRremoteESP8266, Beep and Clean are toggles, Please let me know how it works if you comment out the Beep and Clean in the following code. Tasmota-IRHVAC/custom_components/tasmota_irhvac/climate.py Lines 1139 to 1160 in 15a438a
# "Clean": self._clean,
# "Beep": self._beep, Also, regarding light, it remembers the data sent by the remote control of the device and sends it every time. Therefore, please turn off the Light with the remote control of the device and send it. Alternatively, it can be controlled by the HA service call Note: It is mandatory to restart HA after changing the code. |
This is a setting that does not transmit the data if the On transmission is a toggle operation of a function, and if tasmota_irhvac sends On each time it does not result in normal operation. If you want a toggle action, it can be sent by the service. dnt_send_list: #optional - default [] - Beep - Clean - Econo - Filter - Light - Quiet - Sleep - SwingH - SwingV - Turbo
This is a setting that does not transmit the data if the On transmission is a toggle operation of a function, and if tasmota_irhvac sends On each time it does not result in normal operation. If you want a toggle action, it can be sent by the service. dnt_send_list: #optional - default [] - Beep - Clean - Econo - Filter - Light - Quiet - Sleep - SwingH - SwingV - Turbo
Please wait while I change my approach and recreate it. |
bogd I created PR #94 which may fix this issue. Could you please use the branch nao-pon:toggle_list and test the behavior with the following options? toggle_list: #optional - default []
# The toggled property is a setting that does not retain the On state.
# Set this if your AC properties are toggle function.
# - Beep
- Clean
# - Econo
# - Filter
# - Light
# - Quiet
# - Sleep
# - SwingH
# - SwingV
# - Turbo First you need to apply the branch nao-pon:toggle_list , then restart HA, add the option and restart HA again. |
This reverts commit 5841db0.
@bogd Can you help me with the verification? It will be merged when the operation check is completed. Thanks! |
@nao-pon First of all, my apologies for the very late reply! Real life got in the way, and I simply forgot about this! I have tested the fork, and I was unable to get it to work. Since it might be something that I am doing wrong, I am listing below all the steps I took, and what I wanted to accomplish.
Now the part that is a bit unclear is "how do I actually send the message?" . Because, toggle or not, it still needs to be sent so that the unit will clean itself when turning off. What I tried:
b. Setting "default_clean_mode" to "on":
In this case, the unit behaves just like before (not entering cleaning mode on power off). And looking at the tasmota console for the IR unit, I see that the "clean" message is never sent to the unit (not even on power off):
|
Thank you for validating! Here's my scenario:
I think it works fine under these conditions. If your AC does not meet this requirement, we need to rethink how it is implemented. To set the clean mode from OFF to ON, use the AC device remote control or call the following service from the HA. However, since the clean mode setting is a toggle, sending an On signal from the On state will turn it Off. service: tasmota_irhvac.set_clean
data:
clean: "on"
target:
entity_id: climate.bedroom_ac |
I think I know what the issue is...
For example:
HOWEVER! (and yes, I will admit that this is a very weird implementation...)
However, you might have provided an alternative for me here:
I could use that to turn on clean mode manually when powering the unit off. The one thing that is not 100% clear is what else tasmota-irhvac sends in the same command ("clean" cannot really be sent by itself, the system needs to send a full state to the AC, including mode and temperature). I assume that it will simply resend the stored values, but I have to check that. |
If you set the log level for Tasmota Irhvac to debug, you can see the full payload sent from Home Assistant to Tasmota in home-assistant.log . Also you can see the full payload in Tasmota console. |
This behavior should work with my fix. With Clean mode added to the toggle list, Tasmota Irhvac will not send Clean On during normal operation. Only send Clean On when calling the service. Also, if that doesn't work, as @hristo-atanasov said, watch the logs to see what commands were sent and what the problem was. |
@nao-pon - just to clarify:
@hristo-atanasov - could you please elaborate? I know how to get the payload from the Tasmota console (and I sent it above), but I do not know how to get it from the HAss logs.
|
I can confirm that I can get the desired behavior by calling Steps I normally use when using the original remote control:
Resulting IR codes:
Same behavior, obtained via tasmota_irhvac:
Resulting IR codes:
This does work very well, and it solves my original issue. Thank you!! This just leaves the question regarding how default_clean_mode affects tasmota_irhvac behavior in this case - is there a recommended value for this setting? [Edited to add] And the question regarding how to enable debugging for tasmota_irhvac. I know this is not strictly related to this issue, but it will help in the future, if any other issues pop up :) |
It seems to work fine, so I'm merging PR #94.
Attributes in the toggle_list are always set to "Off", ignoring their default values. Sends On only when called on the Set Attribute Value service.
The easiest is to use logger's log level setting service. The easiest is to use logger's log level setting service. You can view it in Settings - System - Logs "Read full log". Search for "tasmota_irhvac" if necessary. |
Thank you once again, @nao-pon , for your help on this issue! And thank you once again for taking the time to explain the logging part - that will definitely help troubleshooting in the future! |
I have an issue that is somewhat specific to my unit (a Samsung AC) . On this device, the "clean" function seems to be a unit-level toggle - which means that every single time I send an IR code with "clean": "on", the unit will toggle between "on" and "off" for this function.
This means that if I set "clean: on" when turning on the unit, there will be one toggle to "on" when powering on, and another one, to "off", when turning off the unit. And since the whole point of the feature is to be active on shutdown, this does not work.
Looking through the custom component's code, I was able to identify a "default_clean_mode", and there is also a "clean" attribute for the HA entity. However, I do not know what I could do to set the attribute to "on" only when powering off. Setting to "on" immediately after turning the AC on also does not work - because all future IR codes (including the ones for changing the temperature, for example) will also toggle the "clean" function, making the end result unpredictable.
Is there a way to do this (send "clean": "on" only on power off) with the current component? If so, can anyone advise on how it could be accomplished?
Thank you!
The text was updated successfully, but these errors were encountered: