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

 找回密码
 立即注册
楼主: heqicheng

[经验分享] 分享一个tds传感器接入ha的项目

  [复制链接]

6

主题

94

帖子

843

积分

高级会员

Rank: 4

积分
843
金钱
749
HASS币
0
发表于 2024-5-17 17:29:20 | 显示全部楼层

还在,紫薯布丁
回复

使用道具 举报

2

主题

17

帖子

177

积分

注册会员

Rank: 2

积分
177
金钱
160
HASS币
0
发表于 2024-7-27 14:29:03 | 显示全部楼层
大佬求助,我下载了您的代码,我用的esp01s模块,对应的平台代码怎么改需要求助,谢谢我的QQ452288231
回复

使用道具 举报

2

主题

114

帖子

967

积分

高级会员

Rank: 4

积分
967
金钱
853
HASS币
0
发表于 2024-8-31 19:03:05 | 显示全部楼层
本帖最后由 lfdsanmu 于 2024-8-31 19:54 编辑

准备做一个试试
回复

使用道具 举报

15

主题

406

帖子

2732

积分

金牌会员

Rank: 6Rank: 6

积分
2732
金钱
2326
HASS币
0
发表于 2024-8-31 21:21:36 | 显示全部楼层
本帖最后由 george65 于 2024-8-31 21:24 编辑

我照著用ESP01S做了兩個  
改動的部份是我在switch:那
添加了一條下面的代碼
restore_mode: ALWAYS_ON #启动时始终将开关初始化为 ON。
之前做好剛啟動不知道要手動打開開關  
想說怎麼都沒有數據出現
有了這行代碼  一啟動就有數據了

還有一個改動是把原本的數據更新時間
從1秒 60秒改成9秒 10秒
原本是想改成10秒 10秒的  
但是秒數一樣數據會無法出現

esphome:
  name: tds2-8266
  friendly_name: tds2-8266
  includes:
   - TDSSensor.h

esp8266:
  board: esp01_1m

# Enable logging
logger:
  baud_rate: 0

web_server:


# Enable Home Assistant API
api:
  encryption:
    key: "bko9GlRpSUGyUBZl+USDm1eGKZbtMwOFnKJc+084HSI="

ota:
- platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Tds2-8266"
    password: "12345678"

captive_portal:

uart:
  - id: uart_bus1
    tx_pin: TX
    rx_pin: RX
    baud_rate: 9600
    # debug:
      # direction: BOTH
      # dummy_receiver: true
      # after:
      #   delimiter: "\n"
      # sequence:
      #   - lambda: UARTDebug::log_string(direction, bytes);

sensor:
  - platform: custom
    lambda: |-
      auto tds_sensor = new TDSSensorComponent(id(uart_bus1));
      App.register_component(tds_sensor);
      return {tds_sensor->tds1,tds_sensor->temperature1,tds_sensor->tds2,tds_sensor->temperature2};
    sensors:
      - name: "tds1"
        id: "tds1"
        unit_of_measurement: ppm
        accuracy_decimals: 1
      - name: "temperature1"
        id: "temperature1"
        unit_of_measurement: °C
        accuracy_decimals: 2
      - name: "tds2"
        id: "tds2"
        unit_of_measurement: ppm
        accuracy_decimals: 1
      - name: "temperature2"
        id: "temperature2"
        unit_of_measurement: °C
        accuracy_decimals: 2

switch:
  - platform: template
    restore_mode: ALWAYS_ON #启动时始终将开关初始化为 ON。
    name: "TDS Switch"
    id: "tds_switch"
    lambda: return id(tds_switch).state;
    optimistic: true
    # turn_on_action:
      # - uart.write: [0x55, 0x07, 0x05, 0x01, 0x00, 0x00, 0x00, 0x62]
      # - uart.write: [0x55, 0x07, 0x03, 0x01, 0x01, 0x0B, 0xCA, 0x36]
    turn_off_action:
      - uart.write: [0x55, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x62]
    #   - uart.write: [0x55, 0x07, 0x05, 0x02, 0x00, 0x00, 0x00, 0x63]
      # - switch.turn_on: switch1

time:
  - platform: sntp
    id: sntp_time
    on_time:
      - seconds: /9
        then:
          - if:
              condition:
                lambda: |-
                  if (id(tds_switch).state == true) {
                    auto time = id(sntp_time).now();
                    return time.second != 0;
                  }
                  return false;
              then:
                # - if:
                #   condition:
                #     lambda: |-
                #       # auto time = id(sntp_time).now();
                #       # return time.second != 0;
                #       return id(tds_switch).state == true;
                #   then:
                #     - uart.write: [0x55, 0x07, 0x05, 0x01, 0x00, 0x00, 0x00, 0x62]
                #   else:
                #     - uart.write: [0x55, 0x07, 0x05, 0x02, 0x00, 0x00, 0x00, 0x63]
                # - delay: 5s
                - uart.write: [0x55, 0x07, 0x05, 0x01, 0x00, 0x00, 0x00, 0x62]

  - platform: sntp
    on_time:
      - seconds: /10
        then:
          - if:
              condition:
                lambda: |-
                  return id(tds_switch).state == true;
              then:
                - uart.write: [0x55, 0x07, 0x05, 0x02, 0x00, 0x00, 0x00, 0x63]

螢幕擷取畫面 2024-08-31 210225.png 螢幕擷取畫面 2024-08-31 211519.png


用杜邦線接好塞進盒子裡
2024-03-12 00.01.29.jpg
成品圖
2024-03-11 23.58.35.jpg
回复

使用道具 举报

1

主题

45

帖子

516

积分

高级会员

Rank: 4

积分
516
金钱
471
HASS币
0
发表于 2024-9-19 16:02:17 | 显示全部楼层
本帖最后由 fkxldn 于 2024-9-25 19:21 编辑

我的模块跟楼主的一样,怎么死活读不到数据呢??
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 03:31 , Processed in 0.051860 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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