本帖最后由 sorrypqa 于 2025-7-16 15:25 编辑
南方的夏天,风扇和空调这两玩意简直是救命神器,对于使用率比较高的电器,我比较在乎能效比,自从买到直流变频风扇,习惯性测试了一下耗电量,我的乖乖,1-20W之间,对比普通交流电机的风扇的15-47W,按照我的使用频率,一年可以节省几十度电呀!于是立马把家里的普通交流电机风扇全搬到废品站处理了,从此都没正眼看过一次,不过这款风扇原配的控制板和遥控实在是太难用了,2023年学DIY时照猫画虎做了第一版,用起来还算可以,不知怎么嘀让汕头大佬看中,被“横刀夺爱”了,风扇没了主板咋办?虽然现在没了DIY的兴趣,但为了夏天不被热S,还是要硬着头皮再做出来,顺便在原来的基础上修改了一下。
功能以下,一般会根据风扇的安装位置增减某些功能:
1、由原版3档变速改为10档变速
2、由原来的红外遥控改为射频无线和蓝牙等多种遥控,直连通信,无需网络和HA也可以控制风扇。
3、内置433M和315M 2种射频网关,能直接把收到的任意固定码315遥控和433遥控的按键信号转为不同遥控码通过实体直接提供给HA,可以在HA的自动化里控制任意设备,
也可以把任意的315M和433M无线红外传感器、门磁传感器等设备接入,与ESPHome或者HA里自动化联动。
4、内置离线语音控制,无需网络也可以直接通过语音命令直接控制风扇所有动作。
5、内置光照度传感器
6、内置温度、湿度传感器
7、考虑到有时会用电池供电,所以内置电压、电流、功率检测,必要时通过主板蜂鸣器或者ASR的喇叭提醒电池电量,也可以低电量时自动关闭风扇。
8、内置勿扰模式,并能在设备端设置任意时段自动开启或关闭,开启时会自动关闭所有状态指示灯,以免光污染。
9、拥有RS485接口,可以作为服务端或客户端用来读取或者控制其它485通讯的设备
10、停电时支持外接电池供电
11、根据温度自动调整风速
比较喜欢壁挂风扇,不占地面面积:
风扇原配主板:
缺点:档位少,只有3个档,1档是废的,有时用起来3档嫌大、2档嫌小,并且遥控非常难用,要对准,并且按10次可能只有3次生效,反正我是忍无可忍!
这是新改的主板:
这是焊接好的主板:
改装后的功能与原版的变化:
目前为这主板配了下图这2款遥控器,左边的是433M射频遥控,可以控制风扇开、关,直选风速、摇摆控制,多余的按键用来控制HA里其它设备。右边的是平头熊的蓝牙遥控,单击控制开和关,双击控制摇摆、三击循环调整风速,长按时最高速度
蓝牙遥控用的是ryanh7大佬的,直连通信,利用内部自动化直接执行动作,无需网络和HA:
xiaomi_remote:
- mac_address: A4:C1:38:28:F2:65
battery_level: # 电池电量
name: "PTX05 电池电量"
icon: mdi:battery-90-bluetooth #自定义图标
web_server:
sorting_group_id: sorting_group_sensor
# press: # 二进制传感器
# name: PTX05 button binary
# action: # 0:无动作 1:单击 2:双击 3:三击 99:长按
# name: ${name} PTX02 button action
# action_text: # Idle:无动作 Click:单击 Double-click:双击 Triple-click:三击 Long press:长按
# name: "K1.PTX05 蓝牙遥控"
# icon: mdi:bluetooth-audio #自定义图标
on_click: # 单击示例
then:
- logger.log: "单击"
- fan.toggle: "Variable_speed_fan"
- button.press: "frequency_button"
on_double_click: # 双击示例
then:
- logger.log: "双击"
- if:
condition:
- lambda: 'return id(Variable_speed_fan).state ;'
then:
- if:
condition:
- lambda: 'return id(Variable_speed_fan).oscillating ==0;'
then:
- lambda:
auto call = id(Variable_speed_fan).turn_on();
call.set_oscillating(true);
call.perform();
else:
- lambda:
auto call = id(Variable_speed_fan).turn_on();
call.set_oscillating(false);
call.perform();
- button.press: "frequency_button"
on_triple_click: # 三击示例
then:
- logger.log: "三击"
- fan.cycle_speed: #切换风扇速度
id: Variable_speed_fan
off_speed_cycle: false #确定风扇在循环达到最高速度后是否会循环关闭。可选true、false
- button.press: "frequency_button"
on_long_press: # 长按示例
then:
- logger.log: "长按"
- fan.turn_on:
id: "Variable_speed_fan"
speed: 10
- button.press: "frequency_button"
离线语音控制模块的指令通过uartex外部扩展组件提取并执行
external_components:
- source: components
components: [ xiaomi_remote ]
- source: components
components: [ uartex ]
uartex:
rx_footer: "\r" # Termination character
uart_id: "asrpro_uart"
text_sensor:
- platform: uartex
id: "uart_readline"
lambda: |-
return std::string(reinterpret_cast<const char*>(data), len);
name: "语音控制ASRPRO"
风扇的自动调速功能本来想集成的风扇固件里,但测试时不太方便,为了方便调整,就暂时使用HA的自动化来根据室温来自动控制风扇速度,这样一年四季都不用理会调速功能:
actions:
- data: {}
action: fan.turn_on
target:
entity_id: fan.sezze_fan_01_a1
- data:
percentage: >
{% if states("sensor.daikin_air_01_temperature")|float >= 26 and
states("sensor.daikin_air_01_temperature")|float < 27 %} 10 {% elif
states("sensor.daikin_air_01_temperature")|float >= 27 and
states("sensor.daikin_air_01_temperature")|float < 28 %} 20 {% elif
states("sensor.daikin_air_01_temperature")|float >= 28 and
states("sensor.daikin_air_01_temperature")|float < 29 %} 40 {% elif
states("sensor.daikin_air_01_temperature")|float >= 29 and
states("sensor.daikin_air_01_temperature")|float < 30 %} 60 {% elif
states("sensor.daikin_air_01_temperature")|float >= 30 and
states("sensor.daikin_air_01_temperature")|float < 31 %} 80 {% else %}
100 {% endif %}
target:
entity_id: fan.sezze_fan_01_a1
action: fan.set_percentage
中国移动这破网络!又无法正常编辑了......
|