『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 2263|回复: 21

[经验分享] 【esphome固件】10块钱的空调伴侣计量插座,无损拆机+免...

[复制链接]

10

主题

183

帖子

1771

积分

论坛技术达人

积分
1771
金钱
1583
HASS币
20
发表于 2023-12-10 20:47:47 | 显示全部楼层 |阅读模式
本帖最后由 szlww 于 2024-1-17 11:18 编辑

二楼更新esphome完整可用固件
闲鱼23包邮购入两个SWE-希智空调伴侣,拆解发现跟CMCC x12一模一样,市面上还有一款电信小翼管家空调伴侣,外观一样,CMIIT ID一样,也是esp芯片的 ,估计是同一个主板。esphome的配置文件与固件可以参考之前论坛x12空调伴侣的帖子。


注意:这个插座没有继电器,不能对电路进行通断,只能当做一个带功率统计的红外遥控器。


外观图
CMIIT ID都是2017DP5591 查询可以知道是TYWE3S( 另外还可以通过查看mac地址查询厂商的方式判断芯片是不是ESP芯片)
包装盒.jpg 正面.jpg 背面.jpg

拆机图
拆机图-主板cmcc_x12.jpg 拆机图-wifi芯片TYWE3S.jpg 拆机图-刷机接口.jpg

刷机
拆机-免焊接刷机.jpg 拆机图-免焊接刷机2.jpg

刷机-备份固件.png 刷机-刷入第三方固件.png



回复

使用道具 举报

10

主题

183

帖子

1771

积分

论坛技术达人

积分
1771
金钱
1583
HASS币
20
 楼主| 发表于 2024-1-17 10:57:32 | 显示全部楼层
自用esphome yaml配置文件。论坛找了一圈,没有完整版本的,自带我家加湿器红外控制的使用示例。这个计量芯片采集的读数来回跳动,比如电压有时候220v,有时候150v,因此电压、电流等传感器均添加中值过滤器去抖动
解压附件的5个yaml配置,到esphome的conf目录下,然后编译,刷机。适配cmcc_x12、电信小翼管家、希智空调伴侣等类似的设备
esphome配置: x12空调伴侣.zip (9.69 KB, 下载次数: 27)

substitutions:
  current_res: "0.001"
  current_multiply: "0.943"
  voltage_div: "1745" # 2351
  hlw8012_sel_pin: GPIO12
  hlw8012_cf_pin: GPIO4
  hlw8012_cf1_pin: GPIO5
  ir_receiver_pin: GPIO13
  ir_transmitter_pin: GPIO14
  button_pin: GPIO0
  led_status_pin: GPIO15

  node_name: "irremote-room1"
  node_name_friendly: ${node_name}
  node_name_add_mac_suffix: "false"

  #可选填
  node_project_name: "cmcc.x12-AcPartner"
  node_project_version: "tywe3s-v1.0.0-webserver2.0"
  node_build_min_version: "2023.12.0"

packages:
  common: !include 1-common-esp8266-1m.yaml
  common-component: !include 1-common-component.yaml
  debug-component: !include 1-debug-component.yaml
  webserver-component: !include 1-webserver-component.yaml

esphome:
  on_boot:
    - priority: 0
      then:
        - lambda: |-
            //配网模式,led快速闪烁;
            if(nullptr != esphome::captive_portal::global_captive_portal)
            {
              //配网模式,蓝色led闪烁
              if(esphome::captive_portal::global_captive_portal->is_active() && !id(id_wifi).is_connected())
              {
                id(id_led_status).turn_off().perform();
                id(id_led_status).turn_on().set_effect("fast").perform();
              }
            }
wifi:
  reboot_timeout: 0s
  on_connect:
    - light.turn_off: id_led_status

logger:
  level: INFO 
  baud_rate: 0

time:
  - platform: homeassistant
    id: id_homeassistant_time
    timezone: "Asia/Shanghai"

output:    
  - platform: esp8266_pwm
    id: id_pin_led_status
    pin: ${led_status_pin}
    inverted: false

light:
  #连接状态指示灯
  - platform: status_led
    name: "API Link Led"
    id: id_led_api_link
    output: id_pin_led_status
    internal: true
  #配网状态指示灯
  - platform: monochromatic
    name: "StatusLed"
    id: id_led_status
    output: id_pin_led_status
    default_transition_length: 0s
    internal: true
    effects:
      - pulse:
          name: "fast"
          transition_length: 0ms
          update_interval: 100ms

sensor:
  - platform: hlw8012
    model: BL0937
    sel_pin: 
      number: ${hlw8012_sel_pin}
      inverted: true
    cf_pin: ${hlw8012_cf_pin}
    cf1_pin: ${hlw8012_cf1_pin}
    current_resistor: ${current_res}
    voltage_divider: ${voltage_div}
    current:
      name: "energy-Current"
      id: id_sensor_current
      filters:
        - multiply: ${current_multiply}
        - median:
            window_size: 5
            send_every: 3
            send_first_at: 3
    voltage:
      name: "energy-Voltage"
      id: id_sensor_voltage
      filters:
        - median:
            window_size: 5
            send_every: 3
            send_first_at: 3
    power:
      name: "energy-Power"
      id: id_sensor_power
    energy:
      name: "energy-Energy"
      id: id_sensor_energy
    update_interval: 3s
    initial_mode: CURRENT
    #change_mode_every: 4294967295

  - platform: copy
    name: energy-MedianPower
    id: id_energy_median_power
    source_id: id_sensor_power
    filters:
      - median:
          window_size: 5
          send_every: 3
          send_first_at: 3

  - platform: total_daily_energy
    name: "energy-DailyEnergy"
    id: id_total_daily_energy_median
    power_id: id_energy_median_power
    accuracy_decimals: 2
    device_class: "energy"
    state_class: "total_increasing"
    icon: "mdi:counter"
    restore: true
    unit_of_measurement: Wh

remote_receiver:
  pin:
    number: ${ir_receiver_pin}
    inverted: true
  #dump: nec
  dump: all
  
remote_transmitter:
  pin: 
    number: ${ir_transmitter_pin}
  carrier_duty_percent: 50%
  
binary_sensor:
  - platform: gpio
    #name: button-Power Key Real
    id: id_power_key
    internal: true
    pin:
      number: ${button_pin}
      inverted: true
      mode:
        input: true
        pullup: true
    on_multi_click:
    #长按5s以上,重置为出厂模式,进入配网状态
    - timing:
        - ON for at least 5s
      then:
        - switch.turn_on: id_factoryreset
      invalid_cooldown: 0s
    - timing:
        - ON for at most 0.5s
        - OFF for at least 0.01s
      then:
        - logger.log: "power button pressed!"
      invalid_cooldown: 0s
    #双击(启动/关闭空调)
    #- timing:
    #    - ON for at most 0.5s
    #    - OFF for at most 0.5s
    #    - ON for at most 0.5s
    #    - OFF for at least 0.2s
    #  then:
    #    - logger.log: "double click."
    #    - 
    #  invalid_cooldown: 0s      
    #单击(启动/关闭加湿器)
    - timing:
        - ON for at most 0.3s
        - OFF for at least 0.2s
      then:
        - logger.log: "single click."
        - button.press: id_button_humidifier_power
      invalid_cooldown: 0s
##加湿器红外键值
##电源 Received NEC: address=0xFF00, command=0xB946 command_repeats=1
##恒湿 Received NEC: address=0xFF00, command=0xF807 command_repeats=1
##档位 Received NEC: address=0xFF00, command=0xF609 command_repeats=1
##定时 Received NEC: address=0xFF00, command=0xF30C command_repeats=1
##睡眠 Received NEC: address=0xFF00, command=0xA15E command_repeats=1
##UV灯 Received NEC: address=0xFF00, command=0xAD52 command_repeats=1
button:
  #加湿器-电源
  - platform: template
    name: Humidifier Power
    id: id_button_humidifier_power
    on_press:
      then:
        - remote_transmitter.transmit_nec:
            address: 0xFF00
            command: 0xB946
  #加湿器-档位
  - platform: template
    name: Humidifier Speed
    id: id_button_humidifier_speed
    on_press:
      then:
        - remote_transmitter.transmit_nec:
            address: 0xFF00
            command: 0xF609
  #加湿器-定时
  - platform: template
    name: Humidifier Timer
    id: id_button_humidifier_timer
    on_press:
      then:
        - remote_transmitter.transmit_nec:
            address: 0xFF00
            command: 0xF30C
  #加湿器-睡眠
  - platform: template
    name: Humidifier Sleep
    id: id_button_humidifier_sleep
    on_press:
      then:
        - remote_transmitter.transmit_nec:
            address: 0xFF00
            command: 0xA15E
#空调组件
#climate:
#  - platform: gree
#    name: "AC"
#    sensor: room_temperature
#    model: yan



回复

使用道具 举报

50

主题

1300

帖子

4911

积分

论坛DIY达人

积分
4911
金钱
3611
HASS币
20
发表于 2023-12-10 22:42:40 | 显示全部楼层
有链接吗?要弄2个玩玩
回复

使用道具 举报

10

主题

183

帖子

1771

积分

论坛技术达人

积分
1771
金钱
1583
HASS币
20
 楼主| 发表于 2023-12-10 23:22:01 | 显示全部楼层
sorrypqa 发表于 2023-12-10 22:42
有链接吗?要弄2个玩玩

都是随缘捡垃圾。。。我买的那家就俩。可以看看电信小翼管家,那个闲鱼上有很多。
回复

使用道具 举报

109

主题

1586

帖子

5014

积分

元老级技术达人

积分
5014
金钱
3423
HASS币
30
发表于 2023-12-11 00:55:27 | 显示全部楼层
外壳好拆吗
回复

使用道具 举报

3

主题

64

帖子

1591

积分

金牌会员

Rank: 6Rank: 6

积分
1591
金钱
1527
HASS币
0
发表于 2023-12-11 11:52:21 | 显示全部楼层

和x12一样的
回复

使用道具 举报

10

主题

183

帖子

1771

积分

论坛技术达人

积分
1771
金钱
1583
HASS币
20
 楼主| 发表于 2023-12-11 12:19:56 | 显示全部楼层

很简单,心灵手巧的一般能无损拆,我拆的留下了一点点撬动痕迹,基本也是无损。
回复

使用道具 举报

0

主题

3

帖子

140

积分

注册会员

Rank: 2

积分
140
金钱
137
HASS币
0
发表于 2023-12-14 15:11:00 | 显示全部楼层
tasmota 能控制格力空调吗
回复

使用道具 举报

0

主题

4

帖子

22

积分

新手上路

Rank: 1

积分
22
金钱
18
HASS币
0
发表于 2023-12-14 18:58:01 | 显示全部楼层
谢谢分享!刚买了两个小翼的空调伴侣,回头试一下。
回复

使用道具 举报

10

主题

183

帖子

1771

积分

论坛技术达人

积分
1771
金钱
1583
HASS币
20
 楼主| 发表于 2023-12-14 19:39:55 | 显示全部楼层
本帖最后由 szlww 于 2023-12-14 19:52 编辑
yz13531 发表于 2023-12-14 15:11
tasmota 能控制格力空调吗

红外的应该都可以,遥控器对着esp的红外接收头录一遍raw码,然后配合smartir插件 就行吧。raw码如果不多,可以直接写到esp里,raw码如果比较多,esp内存不够加载raw码,就出问题了。
回复

使用道具 举报

0

主题

9

帖子

71

积分

注册会员

Rank: 2

积分
71
金钱
62
HASS币
0
发表于 2024-1-8 00:51:13 | 显示全部楼层
楼主用的是什么固件 方便分享吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-2 15:37 , Processed in 0.394401 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表