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

Command to disable beeping #44

Open
Gabeki17 opened this issue Dec 12, 2021 · 13 comments
Open

Command to disable beeping #44

Gabeki17 opened this issue Dec 12, 2021 · 13 comments

Comments

@Gabeki17
Copy link

It would be very useful, as I am controling my airconditioner automatically.
Quit anoying.

Anyone have tried to do this already?

Regards,
Gábor

@tomikaa87
Copy link
Owner

This would be an interesting feature, but unfortunately I haven't seen anything related in the disassembled mobile app.

@tomikaa87
Copy link
Owner

tomikaa87 commented Jan 9, 2022

I'm just brainstorming, but maybe it's worth a shot to disassemble a firmware file to find out the list of available commands. However I think the beeping "feature" is a part of the AC's main logic board and not the WiFi controller's, so it's possible that this is a hardware limitation and only de-soldering the beeper would help. (In that case, you must be cautious, there is ⚠️⚡︎ high voltage inside ⚠️⚡︎ and you can easily hurt yourself or damage the unit.)

@Gabeki17
Copy link
Author

I'm just brainstorming, but maybe it's worth a shot to disassemble a firmware file to find out the list of available commands. However I think the beeping "feature" is a part of the AC's main logic board and not the WiFi controller's, so it's possible that this is a hardware limitation and only de-soldering the beeper would help. (In that case, you must be cautious, there is ⚠️⚡︎ high voltage inside ⚠️⚡︎ and you can easily hurt yourself or damage the unit.)

I think you are right!

On all.

Now I am optimising my code so it is not commanding the AC too much.
By this, the beepeing went already to a tolerable level.

But in the end I will desoldier the beeper I think.

Also on sending the temperature in. I have foud it possible. it is taking for like a second only. right after refreshing and is gone. ... Oh well

@DaniilMir
Copy link

You may also put a piece of tape on beeper itself or cover it with a bubble gum or something else. it will reduce the beep level significantly and will not void the warranty)
But yes, it would be a nice feature to have in application.
Maybe we should post it on app store page? I tried to contact their devs for other questions but had no success.

@mbarrerar
Copy link

mbarrerar commented Nov 13, 2023

It would be a great feature, currently it is impossible to disable the beep.

Update: if I turn on "program mode" on the latest app and then press any key beep is disabled, that confirm its possible disable by the app

@mlesniew
Copy link

mlesniew commented Sep 9, 2024

Hi all,

great to see that I'm not the only one who finds the beeps annoying. I've investigated this myself for a long time too, so let me share my findings.

There doesn't seem to be a command to directly disable the beeping via software. However, there is a way to change at least some parameters (e.g. target temperature, wind speed) without the AC emitting a beep using programming/schedule mode in the app as @mbarrerar suggests.

Here's how you do it manually:

  • In the app, open the AC you want to control
  • Select the last icon on the bottom with the clock icon.
  • Add a new schedule (e.g. to turn on the AC).
  • Set the desired parameters (e.g. target temperature)
  • Set the time to one minute ahead of the current time.
  • Make sure to select (single-time schedule) -- not sure how this setting is labeled in the English version of the app, but it will make sure this will not be a recurring, periodic schedule.
  • Save

After one minute the AC will enter the programmed mode without beeping.

Now doing some research on the protocol I found that:

  • The protocol actually allows setting the programmed time with second precision. This means that if the message would be sent programmatically, it should be possible to program the AC to switch the mode after a few seconds, not after a minute)
  • It should be possible to set extra parameters this way too. The app only allows programming a small set of parameters this way, but internally the protocol allows specifying any parameter.

Now I haven't written any code to empirically prove the above points, I would have to experiment a bit, but it looks promising.

I see one potential problem with this though. The programmed schedules are probably stored in the device's flash memory. Using the described trick would mean the programming feature is used a lot for single-time schedules, which could cause a lot of flash wear.

Regarding physical ways to silence the buzzer, I tried what @tomikaa87 and @DaniilMir suggested.

The bad news is that putting tape over the buzzer on the main circuit didn't help at all. In many similar buzzers I've seen in electronics this trick does work, but not in this one. It's caused by the way the buzzer is built.

The good news is that it's relatively easy to remove the membrane of the buzzer. The buzzer has two plastic parts -- the base (which is soldered to the circuit board) and a cap with a hole that is put on top. Between this plastic parts is the metal membrane. The plastic cap can be easily removed, I used a flat head screwdriver to lift it and it popped out, without breaking the plastic. I could then remove the membrane, it was not attached to the plastic.

The best part about this is that this is completely reversible. You can easily put the membrane back into the buzzer and it will start beeping again. It also shouldn't void the warranty, because it doesn't leave any traces.

Still, I didn't like my AC without any beeps. I realized that while the beeps are annoying when the AC is controlled from a script, they are actually useful when the remote is used. When using the remote, the beep is a confirmation that the signal was received properly (which is not always the case, because it's IR).

@mlesniew
Copy link

mlesniew commented Sep 9, 2024

Sorry guys, I was wrong. There is a parameter that turns off the beep programmatically. Just after I posted the last comment I found another way to explore supported parameters and found it.

The parameter that controls the beep is Buzzer_ON_OFF. Set it to 1 to disable the beep.

For example, to set the target temperature to 21 degrees using the Python script run:

python3 gree.py -c <ip> -i <id> -k <key> set SetTem=21 Buzzer_ON_OFF=1

The new target temperature setting will be applied, but the buzzer will not beep.

Buzzer_ON_OFF is not a persistent setting, the AC doesn't remember it. Subsequent set commands will still cause a beep unless they're sent with Buzzer_ON_OFF=1 too.

I tested this with my Gree Pular unit.

@raythefourth
Copy link

I'm interested in silencing the beeping as well. I want to turn off the Panel LED when I go to sleep (with an automation), but I don't want to wake anybody else up with the loud beeping.

I was able to send some commands without the beep for example:
python3 gree.py -c [ip] -i [mac] -k [key] -e GCM set Lig=0 Buzzer_ON_OFF=1
python3 gree.py -c [ip] -i [mac] -k [key] -e GCM set Lig=1 Buzzer_ON_OFF=1

However, for me it would only silence every-other beep. The first command would be executed silently, and the second command would always beep. I tried a few different things but can't figure out why it only works half the time.

Any ideas on this? Thanks!

@mlesniew
Copy link

Hey @raythefourth I tried the commands you wrote in your comment and my AC is quiet every time.

What AC model have you tried this with?

Perhaps in your model sending Buzzer_ON_OFF toggles the beeping setting on and off...

Try reading the Buzzer_ON_OFF value after each set command, using: python3 gree.py ... get Buzzer_ON_OFF and see if its value changes after you attempt to change it.

In my case Buzzer_ON_OFF is always set to 0, no matter what the last set command was.

@ov1d1u
Copy link

ov1d1u commented Nov 15, 2024

I'm seeing the same behavior like @raythefourth. get Buzzer_ON_OFF after a set Buzzer_ON_OFF=1 shows inconsistent results, sometimes it shows Buzzer_ON_OFF = 1 and then Buzzer_ON_OFF = 0, but most of the times it only shows Buzzer_ON_OFF = 0.

My AC model is Bora A4 Silver GWH12AABXB-K6DNA4A.

gree_commands.txt

@mlesniew
Copy link

@ov1d1u For me the Buzzer_ON_OFF value switches back to 0 too, it only stays at 1 for a few seconds at most. But that doesn't matter -- what matters is that if I sent a command with Buzzer_ON_OFF=1 the beep is always disabled.

@ov1d1u
Copy link

ov1d1u commented Nov 15, 2024

For me, it is silenced only every other command. So if I run:

python3 gree.py -c 192.168.0.174 -i <mac> -k <key> -e GCM set Lig=0 Buzzer_ON_OFF=1

it does not beep, but if I run again the same command:

python3 gree.py -c 192.168.0.174 -i <mac> -k <key> -e GCM set Lig=0 Buzzer_ON_OFF=1

it beeps. Next time it won't beep, then it will beep again, and so on.

What is the version of the WiFi module firmware (you can see it in the GREE+ app)? Mine is V1.23, maybe it is related to that.

@mlesniew
Copy link

The firmware my unit is running is at 2.06, but I believe every model has an independent firmware.

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

No branches or pull requests

7 participants