Sorry to hear that, @dmac79 - hopefully the Bond team will be able to come up with a solution at some point in the nearish future.
Iāve got 3 of these same DC fan controllers (different DIP switch configuration). My fans also have BLE that Iāve reverse engineered. Given how I know the BLE API works, I believe the KUJCE10711 remote actually maintains state of the speed. The indicator light on the front increases when you press volume up, suggesting its actually sending āset fan to speed 8ā, āset fan to speed 9ā, etc.
I have a HackRF One and tried to capture the radio signals on 302.25 MHz, which I was able to do, but Iām out of my league to translate that to a serial signal of binary commands. Iād guess the fan controller has a single lookup table for the commands since the same controller receives RF, BLE, or a two-wire wall mount controller. If so, I already have the serial codes that BLE uses.
Welcome, @dcode !
Out of curiosity, using your HackRF One - does it appear that your understanding (/ my theory of what might be happening) is proved out by a different signal being sent by subsequent fan up speed commands?
I was hoping that you wouldnāt have to be able to translate them to see if it is the same command repeated each time, or if it is a different command sent.
So are you able to use the BLE for anything?
I built a pretty nice automated fan system with Node Red and Iād really like to have all 31 of those speeds at my disposal. I still only have 6, via a template remote that Bond suggested.
I reverse engineered all the commands in the fanSyncBT app on android. I was hoping the Bond could serve all my needs reliably, because the BLE is a little finickyā¦not that the RF is flawless. I havenāt gotten the Bond to work at all past the setup stage.
So, Iāve got the Python code to control the fan, I just need to cleanly package it so it can be integrated with MQTT or HA directly or something. Iām happy to share.
Iād love to see that. Thank you.
Iām just having issue with only having 6 of 31 speeds available. Iāve read where people have setup numerous fans to cover for Bondās app, but I canāt anything more than 6 speeds to work.
@merck did you ever determine the status of this ticket?
@dcode youāre right. I didnāt consider the little speed light on the remote. The speed stays the same, even if youāve shut the fan down. You have to run the speeds back down. So, that remote is holding the called speed somehow.
We had some discussions on this internally yesterday. Sorry that this has kept getting put behind BBP launch activities. Hereās where we are at.
The app currently has icons for only up to 9 speeds, and we find that really anything over ~6 speeds and itās too many icons on the UI. A slider UI element would be possible, but weāve avoided that as for many users it implies true state feedback. We donāt want to set the wrong impression with less savvy users. For this reason, weāve mapped the 31 speed device to 6 speeds, spreading those speeds out in the range of capabilities of the fan.
That said, I agree that we really should give you the full capabilities of your fan on the API. So, how about this:
item | current | proposed |
---|---|---|
properties.max_speed | 6 | 31 |
buttons in app | Speed 1ā6 | Low, Med, Hi |
integrations | 6-speed | 31-speed |
Where Low = physical speed 1, Med = physical speed 16, Hi = physical speed 31.
Thoughts?
Perfect. Once I load the thing up in Node Red, I donāt care if the app has 1 button or 100 buttons. Having 31 speeds via integrations, Iām sold. Iād run a range from 1-31 in Node Red and itāll select the appropriate speed to capture the ātime to tempā trend.
Great. We are on it. Awesome use-case with the gradual increase of speed as temperature increases.
Awesome hybrid solution, @merck. Should give the best of both worlds as far as app UI / casual user vs integrator power users.
Your particular use case doesnāt really seem to have you using the original physical remote very much, @dmac79?
Iām thinking this remote may get out of sync if the physical remote thought it was at speed 3 of 31, and your Node Red had it at speed 16 of 31.
Pressing āspeed upā on the physical remote may set it to speed 4 in that case.
I am super curious to hear about it once the Bond team is able to roll out the proposed solution and your get your integrations updated to take advantage of it.
I donāt use it at all. It will quickly out of sync if you even think about touching the remote. My setup is totally dependent on Node Red. Since there is nothing in the fan actually showing its ACTUAL status, thereās no way to hold the remote, or even the fan in sync. You have to trust that the commands are getting to the fan. My setup sends each command multiple times with time delays, just to be sure.
It polls my Ecobee for its high and low target temps and then compares it to the actual temp in the room. It shoots for 3 degrees under the top, if weāre cooling and 1 degree above the bottom if weāre heating. If weāre heating, the fan reverses and pulls the heat through the room, only while the heat is running.
Thanks for the explanation, @dmac79. I figured that was your setup but itās nice to have it confirmed.
For others in the thread now or in the future who may want a mix of using remote and integration, be aware of this potential.
max_speed
is read-only for good reason: weād have no idea what to do to achieve those higher speeds without signals for them.
For raw-recorded remotes, you can POST additional commands, and associate signals with them. We derive max_speed from the highest speed seen in a command (max_speed = max(command.argument if command.action = SetSpeed)
)
But, in this case, it seems that @dmac had to use the template remote, which is immutable.
It was either the template remote, or nothing. It was very strange how little I could get it to do.
Rereading this questionā¦I havenāt been able to translate the signal to specific coding yet. Tried a couple times, but got different waveforms. Iām new to the framing to an analog signal and havenāt gone back to the HackRF One, but I think theyre unique commands.
Any updates on this?
I also have this remote for one of my fans and would love to see this as well, been using the 6 speed template as well.
Thanks for bumping. I just implemented this. Looks good in simulation. Weāll try it later on the real receiver and if that goes OK, we will get this into the next beta firmware. Tomorrow? Maybe even later today.
Donāt threaten me with a good time.
I might need a refresher on how to call all 31 speeds⦠Iāve gotten lazy with the 6 I have.
Today might well make my week.