-
Notifications
You must be signed in to change notification settings - Fork 0
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
Alternative firmware #7
Comments
That sounds really nice. Any chance you could make a step by step guide for this? I know my way around soldering but have no exp with esp yet. |
@nielsvanbaal I had this in mind and i'm currently writing a guide. But I forgot to shoot pictures from the soldering process. But i have another fan module i will working in near future and will make some there. I'm also fine tuning the ESPHome yaml. It might be needed to do some custom work for each remote to config the right RF Codes. Also some changes to the ESPHome Tuya Module Code are needed. I've forked some other users code, but want to try to modify and distribute it back to the ESPHome project. So everyone could use it. |
It would be interesting to see whats on the bottom of the daughterboard. Your version is still Wifi capable? [edit]: hm the case looks also different |
It is indeed wifi capable, I just added it to the smart life app. It has some improvements, the beep is gone and the actions on the remote are (almost instantly) visible in the app. The daughter board seems glued of soldered, couldn't get it apart from each other without damaging... The case is indeed also a little different, it has no screws anymore. I think I'll mount the fan with this board for now and will look further into it after the summer. |
@fbloemhof Where did you buy your fan? |
@dennismaxjung bol.com, sold by Create via their platform. |
@dennismaxjung |
@DanielWe2 I'm on vacation right now. I will share progress when I'm back |
Interesting, just bought a Create Windcalm DC, looking how to integrate into current Domotica. |
The replacement of the board is pretty neat. Thanks for sharing! Good to hear the beep is removed from the new updated fan controller. I have a couple questions:
|
Received a new controller from Create as the light circuit on my old one died. It looks exactly the same as yours @fbloemhof. It is of the same type (T5HW), but has some extra wires and components for lamp control. So it seems it is their new module for both wifi versions. I de-soldered the little daughter board and found what seems to be the same WBR3 tuya module, which could probably also be replaced by an ESP12 or similar. @dennismaxjung how was your vacation and have you found new energy to do a little write-up? ;) Maybe I could 'translate' for this new version of the module. |
Hey @hapklaar I'm currently investigate some issues with my controller too, maybe my light circuit also dies. My light starts to flicker more and more. I've also try to find out If i can make the "light smarter" with an additional chip to control the light temperature I currently expanding my esphome config for use both of my RF remotes. [edit:] I also investigate random turn on at night from the fan motor. It beeps and starts to spin. But no change is tracked by EspHomes console. What i notice it seems that the new boards have an integrated RF circuit 😥... |
I've de-soldered the RF Module and soldered it back direct to the ESP12 so the RF Remotes are working directly over ESP-Home and not over the onboard tuya chip. The ESP-12 Chip communicates over the ESPHome tuya-module-integration with the onboard tuya module |
My second RF-Remote (a white one) does not work out of the box. It looks like my first one (Black-Buttons), sends RC-Switch codes and i can use them with esp home. The white-button one i have to look at the raw codes. But my environment here has a lot of 433mhz devices which interfere with my reciever. I have no idea how to remove this "jitter" |
After i recoverd from my SSD crash on my host running home assistant and managed to recover the esphome yaml, i now can get back to work. I have to resolve the random reboots of the chip which i have know. it seems to have some kind of storage overload which ends in restarting the chip |
I've uploaded the ESP-Home yaml to github: As soon I've have finished the complete setup and the guide, i will publish the link |
Thanks. I am looking forward to more details. Should be nice winter project to have a better fan for next summer. |
Hi Is the rf only board the same without the wifi chip, e.g. could i but the rf version and just add a wifi chip myself its 30 euros cheaper |
Thanks a lot to everyone, this post is amazing, exactly what I was looking for. One question on how you actually operate it: would be possible to bypass the light and control it directly from a wall switch? My plan is the following:
Long story short: is the light AC/DC and which voltage? I would like to keep the light with a manual switch (automated with a Shelly or similar) and being able to use the fan regardless of the state of the wall switch. |
Hey @jcgonzalezdelgado, The Motor and the light are both powerd over the same controller. I will check the voltage on my spare controller and report. My plan ist to seperate or switch the entire light. As my light ist starting to flicker, maybe i add RGB 😜 ? But this will be my Summer Project. |
@dennismaxjung RGB is always good option. Especially if it's individually addressable LEDs with some cool effects using WLED 😝 I have to think about your option to wire it out, as one of the "promises" I made my wife is the basic functionality (like lights) should work regardless of the state of Home Assistant. This way, even if everything goes sideways and I'm on a work trip, basic stuff works. Also was thinking to directly replace the light module with something like this: https://www.beleuchtung.de/led-magnetmodul-led-20w-230v-d-16-5-cm-4000k/ should fit (it's 16.5 cm) and it's also magnetic. Goes directly to 230V AC, so I can attach it to the wall switch. Please report your findings, I'm really interested into this. |
@jcgonzalezdelgado I thought about some web API at the esp8266 which then the Shelly can directly trigger. But i have not found this ability in the esphome documentation. |
I will Look about the size of the LED Ring from the Link. And will Order if it fits.. (Thanks god it's directly from Germany so no long waiting, as I'm also from Germany). |
@lieven121 as i have not seen the PCB of the rf only one I cant say anything about the possible transition.. |
The original LED is about 13cm wide. 16cm will might be possible with a little wiggle. But less would bei better The LED is dimmable and have ac power by max ≈ 112V. If dimmed its lower. The Switch between light color ist only indicated by switching power on and off between a specific time span. As i could not see the rating of the LED Power cables, a cable replacement for 230v will be needed. But should be done rather easily. I've we do not find anything for replacement a Custom LED PCB might be possible, or a seperate led Controller for the original LED PCB, (maybe reverse engineer the original Controller) For your information and the "wife-aprove-factor": |
Thanks a lot! I've taken the time to analyze the ESPHome yaml and I think this would be sufficient with the RF Remote to get a high WAF. Will be reporting any news I have |
Hi all, Add this script:
Call it on boot:
Add a button for further use of the added Night Mode function:
If you now turn on the fan from HA with a specific speed this will work. Also the correct speed is visualised in HA. |
This discussion is pure gold. I recently purchased the same fan and wanted to say thanks to everyone who posted their experiences here. Strangely enough my fan did not come with the dimmable light (see make-all/tuya-local#1976 for more info). My overall experience with the fan is pretty bad, and I think that extends to the tuya ecosystem as a whole. When connected everything works for a while, but at some point the fan just disconnects and starts refusing connections using the tuya protocol (from the official app, tuya local and tinytuya). While the build quality of the fan is okay, the electronics are clearly generic "aliexpress" quality, so let that be a warning for any future buyers. In the end I decided to give the ESP12F mod in this topic a go. A big thanks to @dennismaxjung for sharing his config. I will see if I can post some personal experiences and pictures of the specific components once everything is up and running. |
Ass promised above some info and pictures of my ESPhome mod:
This was my first attempt at soldering a PCB, so sadly I tore off the pads of the daughter board while desoldering. In the end I had to connect everything up using wires instead. Despite the "repaired" traces and shoddy soldering above everything boots up as expected. There seem to be a couple of different versions of this fan. My fan is not dimmable, so I had to remove the DP22 config. I also ran into some problems with the MCU not reporting the speed control DP on startup, #7 (comment) fixed it for me. My final ESP config with the speed control fix can be found here: https://gist.github.com/christiaanderidder/63d372143c3ede79a43cce9e41bbe11e |
I could not resist to dig in a little deeper and might have found the cause with issues related to speed not reporting correctly. Indirectly I also managed to fix the remote (when not disconnected from MCU and directly connected to the ESP board). I have been running a custom fork of ESPhome with my fix and so far everything works without needing additional startup scripts as mentioned in #7 (comment). My proposed changes to ESPHome can be found here: esphome/esphome#6980 |
@hellboy-wien I wonder if it's an issue with the timer logic using up memory. Because here everything runs very smoothly and I am using a simpler config file. I removed the timer logic since I don't really use it, but am considering to add it again using the built-in timer instead (as the timer via the remote would do). The logic for the remote can also be removed if you run ESPhome with my fix, as ESPhome does not need to handle any remote signals, it will just receive the updates from the MCU when the remote is used. This is the config file I'm currently using. As you can see there is no need for additional startup scripts, nor any logic for the remote. external_components:
# Use custom tuya fork that fixes issues with data point updates coming from MCU
- source:
type: git
url: https://github.com/christiaanderidder/esphome
ref: "tuya-invalid-command-0x22"
components: [ tuya ]
substitutions:
friendly_name: Bedroom Ceiling Fan
device_name: bedroom-ceiling-fan
device_id: bedroom_ceiling_fan
device_description: ESP12F - CREATE WINDCALM Fan
esphome:
name: ${device_name}
comment: ${device_description}
friendly_name: ${friendly_name}
esp8266:
board: esp01_1m
# Enable logging
logger:
#level: VERBOSE
baud_rate: 0 # Disable UART logging
# Enable Home Assistant API
api:
encryption:
key: !secret encryption_key
ota:
- platform: esphome
password: !secret ota_password
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
fast_connect: on # Don't scan networks, connect straight away
manual_ip:
static_ip: 10.0.20.11
gateway: 10.0.0.1
subnet: 255.255.0.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: ${device_name}
password: !secret fallback_ap_password
# Enable web server
web_server:
port: 80
# Sync time with home assistant
time:
- platform: homeassistant
id: homeassistant_time
# Device specific configuration
# CREATE - WINDCALM DC - ceiling fan
uart:
rx_pin: GPIO3
tx_pin: GPIO1
baud_rate: 9600
#debug:
# Register the Tuya MCU connection
tuya:
id: "tuya_device"
time_id: homeassistant_time
fan:
- platform: "tuya"
id: fan_device
name: "Fan"
switch_datapoint: 60
speed_datapoint: 62
direction_datapoint: 63
speed_count: 6
restore_mode: ALWAYS_OFF
light:
- platform: "tuya"
id: light_device
name: "Light"
switch_datapoint: 20
restore_mode: ALWAYS_OFF
text_sensor:
- platform: version
name: "Version"
icon: mdi:cube-outline
binary_sensor:
- platform: status
name: "Status"
device_class: connectivity
sensor:
- platform: wifi_signal
name: "Wifi Signal"
update_interval: 60s
icon: mdi:wifi
- platform: uptime
name: "Uptime Seconds"
update_interval: 60s
icon: mdi:clock-outline |
@christiaanderidder THANK YOU substitutions:
friendly_name: arbeitszimmer deckenventilator
device_name: arbeitszimmer-deckenventilator
device_id: arbeitszimmer_deckenventilator
device_description: ESP12-F - CREATE WINDSTYLANCE DC ceiling fan
esphome:
name: ${device_name}
comment: ${device_description}
friendly_name: ${friendly_name}
on_boot:
priority: -100.0
then:
- script.execute: set_speed
- fan.turn_off: fan_01
- light.turn_off: light_01
esp8266:
board: esp01_1m
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
fast_connect: on
ap:
ssid: "${device_name}"
password: !secret fallback_ap_password
logger:
baud_rate: 0
api:
encryption:
key: !secret api_key
ota:
- platform: esphome
password: !secret ota_password
time:
- platform: homeassistant
id: homeassistant_time
web_server:
port: 80
uart:
rx_pin: GPIO3
tx_pin: GPIO1
baud_rate: 9600
tuya:
id: "tuya_device"
time_id: homeassistant_time
# Sets the fan speed manually on startup, otherwise the fan control does not work properly
script:
- id: set_speed
mode: restart
then:
- lambda: id(tuya_device).set_integer_datapoint_value(62, 1);
fan:
- platform: "tuya"
id: fan_01
name: "${device_name} Fan"
switch_datapoint: 60
speed_datapoint: 62
direction_datapoint: 63
speed_count: 6
restore_mode: ALWAYS_OFF
light:
- platform: "tuya"
id: light_01
name: "${device_name} Licht"
switch_datapoint: 20
restore_mode: ALWAYS_OFF
text_sensor:
- platform: version
name: "${device_name} Version"
icon: mdi:cube-outline
binary_sensor:
- platform: status
name: "${device_name} Status"
device_class: connectivity
sensor:
- platform: wifi_signal
name: "${device_name} Wifi Signal"
update_interval: 60s
icon: mdi:wifi
- platform: uptime
name: "${device_name} Uptime Seconds"
update_interval: 60s
icon: mdi:clock-outline |
@hellboy-wien For me the remote works without issues after my changes to the ESPHome code (edit: esphome/esphome#6980 has been merged to the dev branch so it should show up in a upcoming release). Keep in mind that I did not desolder the RF board from the MCU board. So i also did not connect the RF board directly to the ESP chip. When I use the remote the MCU reports the updates to ESPhome over TX/RX (using the command fixed in my ESPhome fork). It's logged as the 0x22 command when that happens. However, if there is one thing i learned from this thread, it's that there are a whole bunch of variants of the hardware in this fan (different boards, different remotes), so yours might not be the same as mine. I think they just get any chinese components available at the time of production and consistency does not matter much. Never another tuya based product for me that's for sure 😅 |
@christiaanderidder |
Hello, I'm currently fine-tuning my code. Is it possible to start a script from ESP Home, like when I press the 1h, 4h, 8h buttons on the remote control. And also to create a sensor to show how long the remaining runtime is? |
Hello, I'm wondering where you were all able to order the controller from, I've search and couldn't find any controller with the same reference. I currently have a windcalm without wifi and I'd like to order the wifi controller and d the mod. |
I've just bought one on Saturday on Amazon Spain and received yesterday. Now there is no stock: TECHBREY Controlador para Ventilador de Techo DC con Mando Seleccionable (Cálido-Neutro-Frío) The model is: Fan Light Controller model: 6601TL Tomorrow I will disassembly and show the PCB. |
@dennismaxjung Hallo. I have now also used parts of your code because I would like to use the timers 1, 2, 4, 8 hours. And this creates the sensor: timer remaining. This updates every ~30 seconds. Is it possible to round the value or only display it when exactly 1 minute has passed? Because I would like to have a bar like this in the dashboard and an even number... Do you have any ideas? Danke dir!!! |
I decided to create a repo containing a guide to modding the fan to ESPHome and all the configuration files I used, based on the experiences here: https://github.com/christiaanderidder/esphome-create-wind-calm. |
@christiaanderidder thanks for sharing! |
I did the mod with an esp12f, library works awesome but I encounter a problem I did not expect. Mi wifi antenna is pretty close to the fan but both ceiling support plate and enclosure are metal made and guess what, it acts as some kind of Faraday cell so as soon as I mount the fan, 0 wifi signal! I'm planning to solder an external antenna, I also bought and esp32s with external antenna just in case, wish me luck. |
That could be the issue indeed. Maybe the onboard antenna has a very bad SWR in the 2,4Ghz. band. If possible try changing the wifi channel first or the location of your wifi router/ap. Otherwise replace the antenna with an external one this could be a copper wire cut to exactly 28.8 (max. 32) mm (wave length) if you have or can borrow a meter for the 2.4GHz or a NanoVNA you can measure the SWR. |
Hello, I just received my Wind Calm package today and took some pictures of the controller, which is slightly different from the ones in this thread. I ordered my fan without internet control. Edit: Just a quick comparison between the WIFI version on the left (photograph above from @christiaanderidder) and the non-WIFI version on the right. If my photographs are any use to you, feel free to use them as you please. |
ESPHome 2024.7 has been released which contains a fix for the issues initializing the device. This means that:
|
Thank you guys for your great work. I just updated two fans based on your latest instructions and both fans are working great. No more sending data to China. The only obstacle was the VCC connection to EN. Here it did not work when soldering the EN of the ESP3266 to the corresponding connection on the daughter board. With an additional connection directly to VCC it worked fine. |
Fan speed works fine, some people had issues because of ESPhome not correctly parsing a message from the motor controller, but that has been fixed in the latest ESPhome version. Everything shows up in Home Assistant as expected. |
Note: there are different controllers that look very simlar but work differently. I was not able to connect to the tuya MCU in a controller with the designation With a controller called RXAL(WIFI80-200)RPM the same ESP and code do work fine. |
I have a questiion. I bougt sam cieling fan. And it looks like from the first pictures with only 4 pin header. Main control: RDI32F036M6S8 (96MHz, 2 OPAs) Its got pinout like: 5V UP, RX? , TX?, GND I tried your code. But i only get: So maby i missing something. In first pictures you to have only 4 pin conector and ESP conected to it. |
Many thanks to christiaanderidder and also to dennismaxjung for starting this one! Error message: switch:
Christiaan, Dennis, any ideas?? |
And here is the part with the datapoints for the CasaFan Eco Neo and Concept WiFi:fan:
light:
switch:
|
Ib got it fixed; Tuya asks for enum ....
|
Thanks a lot for your answer , |
Hi, from HA side every thing works well. I do not use the light dimming part nor the timer function. Sometimes the speed on the remote gets out of sync with the speed in HA; the remote shows a speed of 1 and in HA it is still at 4.... |
Hi guys, first of all thank you for sharing those invaluable findings! Today I received my Create Windcalm with RC and w/o WIFI control and mounted it. I have a KNX setup here and I thought turning on/off the AC connection will just turn on/off the ventilator using last speed config. But unfortunately that's not the case. 😣 Now I thought maybe I can attach an external board which can bridge the device with KNX (e.g. using a custom made Konnekting board). I have exactly the same board that @zindy posted in his post above. So this device does not have a WBR3 daughter board, but it does have the connector CN2 which seems to be a data connector. Did anyone try to figure out what this connector is meant for? |
Do you think it would be possible to flash an alternate (open source) firmware on this device, for example Tasmota? This device looks rather similar, but haven't opened my wifi box to see if the innards are the same.
The text was updated successfully, but these errors were encountered: