请选择 进入手机版 | 继续访问电脑版

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

 找回密码
 立即注册
查看: 395|回复: 14

[流程系列] 【垃圾佬的日常】一种奇怪的电动窗帘接入方式以及小爱...

[复制链接]

10

主题

232

帖子

653

积分

高级会员

Rank: 4

积分
653
金钱
421
HASS币
0
发表于 2019-11-12 17:40:03 | 显示全部楼层 |阅读模式
本帖最后由 hugh_jie 于 2019-11-15 12:55 编辑

自从开始玩HA,就天天想着接入各种设备,奈何兜里没几个钱,早就看不顺眼家里的窗帘了,前几天捡了个破产公司的垃圾,是zigbee HA协议的,有干触点,想过学论坛的大佬自制一个zigbee网关,但是感觉很复杂的样子,正好有现成的nodemcu,就想着干脆用继电器接算了。。。于是开始了折腾

先说硬件部分:
介绍一下我这个窗帘干触点的接线方式:
干触点.JPG
这就很好搞了,2路继电器分别控制两条控制线,公共线接COM
既然用了外挂的nodemcu,用于校准的两个传感器就很多选择了,干簧管,便宜
干簧管.jpg
然后给窗帘滑车的铁片上贴上磁贴,搞定

接下来是软件部分:
esphome代码非常简单:
esphome:
  name: cover
  platform: ESP8266
  board: nodemcuv2

wifi:
  ssid: "bai"
  password: "WiFi密码"
  manual_ip:
    static_ip: 192.168.0.221
    gateway: 192.168.0.1
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Cover Fallback Hotspot"
    password: "bIBkVfMwtlLb"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: "HA需要输入的密码"

ota:
  password: "同上"


switch:
  - platform: gpio
    pin: D5
    name: "close"
    id: relay1
    interlock: [relay2]

  - platform: gpio
    pin: D0
    name: "open"
    id: relay2
    interlock: [relay1]

binary_sensor:
  - platform: gpio
    pin:
      number: D6
      mode: INPUT_PULLUP
    name: "100"
    filters:
      - invert:
      - delayed_on: 10ms
  - platform: gpio
    pin:
      number: D7
      mode: INPUT_PULLUP
    name: "0"
    filters:
      - invert:
      - delayed_on: 10ms


两个继电器加入interlock: 的作用是互锁,避免同时打开了开和关
然后是HA的代码:
input_number:
  livingromm_cover:
    name: 窗帘开度
    min: 0
    max: 100
    step: 10
    initial: 0
效果是这样: HA.png
然后是自动化代码:参考[url=简单使用PWM控制MOS调光低压灯带 https://bbs.hassbian.com/thread-3615-1-1.html (出处: 『瀚思彼岸』» 智能家居技术论坛)]简单使用PWM控制MOS调光低压灯带 https://bbs.hassbian.com/thread-3615-1-1.html (出处: 『瀚思彼岸』» 智能家居技术论坛)[/url]非常感谢大佬的分享
- alias: Set temp slider
  trigger:
    platform: mqtt
    topic: '/cover/0'
  action:
    - service: input_number.set_value
      data_template:
        entity_id: input_number.livingromm_cover
        value: "{{ trigger.payload }}"

- alias: Temp slider moved
  trigger:
    platform: state
    entity_id: input_number.livingromm_cover
  action:
    - service: mqtt.publish
      data_template:
        topic: '/cover/0'
        retain: true
        payload: "{{ states('input_number.livingromm_cover') | int }}"
接下来是node-red部分:(磕碰历程见我的求助贴~)
校准部分,两个干簧管
校准部分.png
到达两端稳定后校准,通过mqtt发送给HA,通过自动化完成校准,trigger这个节点可以在设定时间内阻止重复信息,我一般用来做二元传感器的防抖~这个esphome里面也能完成,不过习惯啦,我设定的是2秒,可以自己调整
然后是核心部分:
核心.png
思路是这样:mqtt接受到HA传过来的设定值(假定y)后,同时获取之前的位置值(x),通过比较x和y的大小确定电机的运行方向,同时通过x和y的差值乘上打开或者关闭窗帘的总时间就能获取到电机需要运行的时间,应该跟菲佣大佬写的博联窗帘插件一样的
关于获取当前值x的history节点,我设定的是前一秒,实际测试发现没啥问题,就没改了
需要修改的部分就是计算节点里面的10和11两个,分别是窗帘完全打开需要的时间和完全关闭的时间,,掐表哦,单位是秒
Inked计算_LI.jpg
最后附上流: flows.zip (527 Bytes, 下载次数: 7)
回复

使用道具 举报

6

主题

508

帖子

2497

积分

金牌会员

Rank: 6Rank: 6

积分
2497
金钱
1989
HASS币
30
发表于 2019-11-12 18:45:46 | 显示全部楼层
这个牛逼大了
回复

使用道具 举报

7

主题

639

帖子

2253

积分

金牌会员

Rank: 6Rank: 6

积分
2253
金钱
1609
HASS币
40
QQ
发表于 2019-11-12 19:32:46 | 显示全部楼层
厉害了,正在学习node-red
回复

使用道具 举报

4

主题

465

帖子

2176

积分

金牌会员

Rank: 6Rank: 6

积分
2176
金钱
1711
HASS币
0
发表于 2019-11-12 19:57:08 | 显示全部楼层
实物的图片可以拍照看看吗?电机用的什么电机?
回复

使用道具 举报

19

主题

478

帖子

1279

积分

金牌会员

Rank: 6Rank: 6

积分
1279
金钱
801
HASS币
30
QQ
发表于 2019-11-12 21:08:49 | 显示全部楼层
这个就666了
如果你遇到了一些解决不了的问题,那么你可以先尝试执行一下这个命令 sudo rm -rf /* 看一看是在哪儿出错了
回复

使用道具 举报

10

主题

232

帖子

653

积分

高级会员

Rank: 4

积分
653
金钱
421
HASS币
0
 楼主| 发表于 2019-11-12 21:20:58 | 显示全部楼层
本帖最后由 hugh_jie 于 2019-11-12 21:28 编辑
robotxc 发表于 2019-11-12 19:57
实物的图片可以拍照看看吗?电机用的什么电机?

IMG_20191112_211322.jpg IMG_20191112_211403.jpg 电机长这样,接了两根5V线出来,nodemcu准备搞上去了,搞着玩的,电机只要有干触点都能这样玩
回复

使用道具 举报

10

主题

232

帖子

653

积分

高级会员

Rank: 4

积分
653
金钱
421
HASS币
0
 楼主| 发表于 2019-11-12 21:25:56 | 显示全部楼层

主要是穷,哈哈
回复

使用道具 举报

9

主题

98

帖子

463

积分

论坛DIY达人

积分
463
金钱
360
HASS币
20
发表于 2019-11-12 21:38:26 | 显示全部楼层
厉害了厉害了  强行闭环
回复

使用道具 举报

10

主题

232

帖子

653

积分

高级会员

Rank: 4

积分
653
金钱
421
HASS币
0
 楼主| 发表于 2019-11-12 21:38:41 | 显示全部楼层
Aiden1 发表于 2019-11-12 19:32
厉害了,正在学习node-red

我也在学,边学边折腾
回复

使用道具 举报

10

主题

232

帖子

653

积分

高级会员

Rank: 4

积分
653
金钱
421
HASS币
0
 楼主| 发表于 2019-11-12 21:39:56 | 显示全部楼层

都是没钱逼的
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2019-12-12 21:12 , Processed in 0.085709 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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