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

[经验分享] 千岛人的净水器电脑板能否接入HASS呀?(7/31用TDS传感器.....

[复制链接]

14

主题

648

回帖

4048

积分

论坛元老

积分
4048
金钱
3381
HASS币
10
发表于 2024-2-6 20:17:31 | 显示全部楼层
rest:
  - authentication: basic
    scan_interval: 60
    resource: https://apih5.xohaa.net/api/v3/devices/find-by-deviceId?deviceId=自己抓包
    method: GET
    headers:
      Host: apih5.xohaa.net
      Origin: https://m.xohaa.net
      x-auth-token: 自己微信抓包
      x-requested-from: apiHttpRequest
      Connection: keep-alive
      Accept: application/json, text/plain, */*
      apiRequest: true
      User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 15_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.16(0x1800102c) NetType/WIFI Language/zh_CN
      Referer: https://m.xohaa.net/
      Accept-Language: zh-CN,zh-Hans;q=0.9
      Accept-Encoding: gzip, deflate, br
    sensor:
      - name: "WaterMonitor"
        json_attributes_path: "$.data.iotDevice"
        value_template: "OK"
        json_attributes:
          - "inWaterTds"
          - "outWaterTds"
          - "outWaterTotalFlow"
          - "outWaterTodayFlow"



sensor:
  - platform: template
    sensors:
      inwatertds:
        friendly_name: inWaterTds
        value_template: '{{ states.sensor.watermonitor.attributes.inWaterTds }}'
        unit_of_measurement:  "PPM"
      outwatertds:
        friendly_name: outWaterTds
        value_template: '{{ states.sensor.watermonitor.attributes.outWaterTds }}'
        unit_of_measurement:  "PPM"
      outatertotalflow:
        friendly_name: outWaterTds
        value_template: '{{ (states.sensor.watermonitor.attributes.outWaterTotalFlow / 1000) |round(2) }}'
        unit_of_measurement:  "L"
      outwatertodayflow:
        friendly_name: outWaterTds
        value_template: '{{ (states.sensor.watermonitor.attributes.outWaterTodayFlow / 1000) |round(2) }}'
        unit_of_measurement:  "L"

homeassistant:
  customize:
    sensor.inwatertds:
      friendly_name: 原水TDS
    sensor.outwatertds:
      friendly_name: 净水TDS
    sensor.outatertotalflow:
      friendly_name: 纯水总出水量
    sensor.outwatertodayflow:
      friendly_name: 纯水今日出水量
回复

使用道具 举报

74

主题

544

回帖

3561

积分

论坛元老

积分
3561
金钱
2943
HASS币
0
发表于 2024-2-6 21:01:39 | 显示全部楼层
回复

使用道具 举报

33

主题

2162

回帖

5869

积分

论坛元老

积分
5869
金钱
3674
HASS币
60
QQ
发表于 2024-4-23 02:02:11 | 显示全部楼层
sundat 发表于 2021-7-14 10:08
就是这个玩意,  上面那代码奇怪,可能我不懂C,我单独搞了一段 连接wifi的代码,是可以连接上wifi的,放 ...

大佬前后发的tds模块不一样啊。
麻烦问下主贴里的tds模块参数能分享下不?
我不生产技术,我只是技术的搬运工。
回复

使用道具 举报

5

主题

107

回帖

2228

积分

金牌会员

积分
2228
金钱
2111
HASS币
20
发表于 2024-4-23 08:48:42 | 显示全部楼层
这个项目了解下,前段时间刚写的
https://github.com/yuxudong/esphome-tds
回复

使用道具 举报

0

主题

1

回帖

16

积分

新手上路

积分
16
金钱
15
HASS币
0
发表于 2024-6-9 17:32:58 | 显示全部楼层
其实你可以弄纯水回流方案,很简单的,纯水出水端加一个三通接个小压力桶然后再接止逆阀和2分进水电磁阀到RO进水端,电路方面加一个24v继电器和时间继电器,用增压泵电源给继电器供电,增压泵接继电器常开点,时间继电器接24v继电器常闭点,2分进水电磁阀接时间继电器,当净水器开始制水时24v继电器得电常开点闭合增压泵通电工作,制水完成后24v继电器失电常开点断开常闭点闭合时间继电器得到信号开始工作,时间继电器给2分进水电磁阀供电,2分进水电磁阀打开,小压力桶内的纯水开始回流到RO膜前端,到达时间继电器设置时间后2分进水电磁阀断电,可以设置时间继电器的延时时间控制纯水回流量,这个视水质情况而定,这个方案我已经帮朋友做了几套了效果很好,你可以试试
回复

使用道具 举报

4

主题

11

回帖

117

积分

注册会员

积分
117
金钱
102
HASS币
0
发表于 2025-1-23 00:34:53 | 显示全部楼层
lrving163 发表于 2024-2-6 21:01
https://github.com/hqc201105/esphome_tds_sensor?tab=readme-ov-file这个成功联接HA

大佬,成功的代码能给一份吗,我用那个代码各种报错
回复

使用道具 举报

74

主题

544

回帖

3561

积分

论坛元老

积分
3561
金钱
2943
HASS币
0
发表于 2025-1-23 21:26:55 | 显示全部楼层
ziwenbo 发表于 2025-1-23 00:34
大佬,成功的代码能给一份吗,我用那个代码各种报错

uart:
  - id: uart_bus1
    rx_pin: 1
    tx_pin: 3
    baud_rate: 9600

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
    name: "TDS Switch"
    id: "tds_switch"
    lambda: return id(tds_switch).state;
    optimistic: true
    turn_off_action:
      - uart.write: [0x55, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x62]
    restore_mode: ALWAYS_ON

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

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

使用道具 举报

74

主题

544

回帖

3561

积分

论坛元老

积分
3561
金钱
2943
HASS币
0
发表于 2025-1-23 21:28:40 | 显示全部楼层
ziwenbo 发表于 2025-1-23 00:34
大佬,成功的代码能给一份吗,我用那个代码各种报错

报错发出来。这里大佬多的是。我很多问题也在这解决的。
回复

使用道具 举报

4

主题

11

回帖

117

积分

注册会员

积分
117
金钱
102
HASS币
0
发表于 2025-3-15 10:58:25 | 显示全部楼层
lrving163 发表于 2025-1-23 21:26
uart:
  - id: uart_bus1
    rx_pin: 1

谢谢大佬
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-3 09:26 , Processed in 0.611349 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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