-
Notifications
You must be signed in to change notification settings - Fork 42
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
OPUS Led support #34
Comments
Hello @kamushadenes, From what I see from the Opus Led web site, the application they indicate to control their lamps is "Fan Lamp Pro", so you could give it a second try with this app directly from your phone, but I doubt it would work given that you already tried, and that the raw packets generated by the remote do not correspond to what "Fan Lamp Pro" app generates. From the packets you provided, the remote is indeed sending 2 different messages on each action, this is kind of usual with the BLE ADV technology: each one is a 'variant' but only one effectively controls your device. Variant 1:
Variant 2:
If your device is using variant 1, we should be able to easily extract an encoder and integrate it, but if it uses variant 2 it would be much more complex as we would need to decode the controlling data... Anyway in order to confirm the first hypothesis above, I would need you to provide the packets of an exact same action, repeated several times, such as for instance 5 times the press on the first speed of the Fan, would it be possible to do so? Thanks in advance! |
@NicoIIT thank you for the thoughtful reply and detailed explanation. This is me pressing speed 1 a bunch of times:
|
This is speed 2, just for comparison:
|
Thanks @kamushadenes ! This would give: Knowing that may you try to use the raw injection service to inject the following message?: 55.FF.01.A8.83.D3.02.00.00.55 |
From my tests, pressing the button again doesn't change anything. The only button that does "loop" is the one I labeled "Luz Liga / Desliga". I'll test and report back in a few minutes. |
It worked! That's awesome. I had to try a few times but this might simply be related to the duration not being correct. |
Hum this would mean it is the remote itself that is sending 2 messages one after the other for each action, with 1 second delay: |
Makes sense, some of the codes above are incorrect them. I need to run some errands, but I'll send the correct ones as soon as possible. I assume that doesn't block you, right? Thanks for all the help so far. |
Well the framework is designed to send only one message per action so it would mean a lot of changes to adapt it at the end. But anyway you need to gather the codes so once done you should be able to setup a light / fan directly in Home Assistant using the raw injection service, as defined here, modifying the actions done to send 2 messages with a 1 second delay. |
@kamushadenes , as per latest discussions here, it seems your remote is issuing commands very similar to the ZhiMeiDengKong app, so your device can probably be controlled by this phone app. |
Hi! Sorry for not replying yet, it’s very busy here in the moment. I tested this app and it works! It’s necessary to do the pairing process in the first 5 seconds of the fan receiving energy from mains, but after that, everything works. Also, only the second tab works (fan light). The light colors don’t work (the fan doesn’t support it), but by turning it on and off with the “switch” button, it toggles between it’s 3 colors, same as with the remote. How did you find that? |
@kamushadenes, I added the support of 'zhimei' app to my repo: external_components:
- source: github://NicoIIT/esphome-components I am not sure it would work but you can try to pair with it, Note that you will need to migrate the Pair button if you defined one, but the migration is indicated in the error raised at compile time. You should also setup the option Hope it will work ! |
Hello!
Thanks for this great project.
Description
I'm having a hard time controlling my ceiling fan, and would like to ask for some help.
It's a OPUS Led Basic (https://opusled.com.br/produto/air-basic-pt/), and it uses a bluetooth remote. I haven't managed to make it work with any app in the App Store, nor does its manual suggests that's possible.
The remote
The remote itself it stupidly simple, with a SoC and a clock generator at 24mhz, nothing else. SoC is http://www.hi-flying.com/hf1631.
(The chinese writing is just the button function regarding the wind direction, nothing useful.)
There is a pairing process that involves holding
S1
for 3 seconds. In the back of the remote, it states that this serves as acode alignment
, which makes me believe it's a rolling code.I have considered designing some PCB to directly interface with this remote using some optocouplers, or perhaps more simply to interface with another HF1631 directly, as in my experience rolling codes suck, but I would like to avoid the trouble.
Any help here would be much appreciated!
What I tried
Extra resources
CI Datasheet
HF1631_2.4G蓝牙遥控器芯片用户手册_20230427.pdf
Captured packets
I noticed the codes alternated a bit each time they were pressed (especially in the third section), so there seems to be some sort of rolling code in place.
Those are the codes I captured. Notice it always seems to send two codes.
The text was updated successfully, but these errors were encountered: