Ningbo Fuda 5250B Dehumidifier
Ningbo Fuda 5250B Dehumidifier
Ningbo Fuda Intelligent Technology is a company manufacturing a number of devices such as dehumidifiers and air conditioning units. These are typically white-labeled, and come under a number of brand names such as Rohnson, Nedis, Kayami, Cling etc.
Some of these dehumidifiers are WiFi-enabled, by employing a Tuya module, allowing them to be fully controlled over WiFi, typically using the vendor's smartphone app, or the Tuya Smart/Smart Life applications.
Unfortunately, as of October 2023, ESPHome does not include a Humidifier/Hygrostat component to map to Home Assistant's Humidifier integration (see esphome/feature-requests#1859). Until such support is added, the dehumidifier can be exposed as a series of switches, sensors and selects, for each of the functions of the device's control panel.
It is often possible to use tuya-convert to flash the module over-the-air. Note that this applies to ESP8266-based modules; if your model shipped with a BK72xx-based module, other methods such as tuya-cloudcutter can be used.
Both of these tools rely on exploiting vulnerabilities in the stock Tuya firmware, which may be patched in newer versions, so this may or may not work with your device. It is generally advisable to not install firmware updates through the vendor's smartphone application as this may patch any vulnerabilities that exist in the shipped software.
The dehumidifier can be easily disassembled using a Philips screwdriver. The
Tuya module can be found on a separate daughterboard, connected using a JST
connector to the mainboard, which provides the board with
GND, as well
TX pins for the UART connecting to the main MCU. The daughterboard
includes a voltage regulator and level shifters to convert between
+3.3V, that the Tuya module expects. Unfortunately, this is a different UART
than the one required for flashing the firmware. However, the daughterboard
helpfully contains debug pins next to the module:
|UART 0 RX||Serial adapter TXD|
|IO1||Serial adapter RXD|
|IO0||Short to GND for flashing|
|GND||Serial adapter/Vcc GND|
Vcc needs to be provided separately, either
+5V through the connector, or
+3.3V directly to the ESP8266.
The configuration below is for a Rohnson R-9820, model name FDD20-5250BWR5:
esp8266:board: esp_wroom_02uart:rx_pin: GPIO13 # U1RXtx_pin: GPIO15 # U1TXbaud_rate: 9600tuya:on_datapoint_update:- sensor_datapoint: 11datapoint_type: bitmaskthen:- lambda: |-ESP_LOGD("main", "on_datapoint_update %s", format_hex_pretty(x).c_str());// only seen in the wild is decimal value 8, for Water Tank Fullid(water_tank_full).publish_state((x >> 3) & 1);binary_sensor:- platform: templateid: water_tank_fullname: "Water tank"device_class: problemicon: "mdi:water-alert"- platform: tuyaname: "Unknown 101"sensor_datapoint: 101internal: true- platform: tuyaname: "Unknown 105"sensor_datapoint: 105internal: trueswitch:- platform: tuyaname: "Power"switch_datapoint: 1- platform: tuyaname: "Air clean"icon: "mdi:leaf"switch_datapoint: 5- platform: tuyaname: "Child lock"icon: "mdi:lock"switch_datapoint: 7- platform: tuyaname: "Sleep"icon: "mdi:sleep"switch_datapoint: 102number:- platform: tuyaname: "Target humidity"number_datapoint: 4unit_of_measurement: "%"device_class: "humidity"min_value: 30max_value: 80step: 5sensor:- platform: tuyaname: "Temperature"sensor_datapoint: 103unit_of_measurement: "°C"device_class: "temperature"accuracy_decimals: 0- platform: tuyaname: "Humidity"sensor_datapoint: 104unit_of_measurement: "%"device_class: "humidity"accuracy_decimals: 0select:- platform: tuyaname: "Mode"icon: "mdi:cog"enum_datapoint: 2options:0: Regular1: Automatic2: Strong3: Clothes drying- platform: tuyaname: "Fan speed"icon: "mdi:fan"enum_datapoint: 6options:0: Low1: High# - platform: tuya# name: "Unknown"# enum_datapoint: 12