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

 找回密码
 立即注册
查看: 86180|回复: 267

[经验分享] 基于Appdaemon+Homeassistant的Sonoff basic开关刷Tasmota搭载光照度+...

  [复制链接]

23

主题

302

帖子

2165

积分

论坛技术达人

积分
2165
金钱
1838
HASS币
110

活跃会员教程狂人

发表于 2018-7-2 23:24:46 | 显示全部楼层 |阅读模式
本帖最后由 cnk700i 于 2018-7-3 19:30 编辑

听说标题长才有人看

之前看blindlight大神的帖子被安利了Appdaemon,最近腾出时间看了几天官方的E文教程,然后想来实践下。于是翻出角落里N久前刷好了Tasmota固件然后吃灰的Sonoff、一时兴起买的光照度传感器和红外传感器,就决定做个简单的走廊灯自动控制吧。期间还是折腾了一番,感觉Tasmota还有Appdaemon还有太多的东西要学了,还是先写点东西作个总结吧。
本来只想附个代码为论坛不多的Appdaemon资料充充数算了,结果强迫症发作还是把整个流程都介绍了。所参考的各位大大教程都标注出来了,涉及的东西有点多,自行按需食用。

PS:因为实践时间跨度有点长,估计会有遗漏的地方,以出处为准吧。

PS2:代码中有中文的地方请自行替换

一、准备

1.硬件(买买买)

  • sonoff basic(淘宝28元左右那款)
  • BH1750光照度传感器(6元左右)
  • HC-SR501人体传感器(6元左右)
  • CH340G USB转TTL模块(8元左右)
  • 杜邦线7条
  • 排针(2.54MM间距,17MM长,买长点容易掰弯走线)
  • 电烙铁+焊锡+松香

2.软件环境

3.预期效果

  • 光线暗并且感应到人,开灯
  • 感应到没人,延时一段时间(自定义)后关灯

HC-SR501检测到人之后设置一个计时器,计时器结束后才输出低电平。期间检测到人活动,会重置计时器,所以关灯的时间是HC-SR501的计时器(可通过旋钮调)+自定义时间

  • 使用无线开关进行物理控制

二、Sonoff

Step1.刷固件

先把排针焊接在中间的5个孔上

我买的两个焊盘都堵上了,试过吸锡器也不好用,最后是把排针拆成一个一个,加热锡盘时候把排针顶进去。

然后按alei643大的教程刷固件,注意com参数的Flash Mode: DIO要改成DOUT!

Step2.接线

未命名图片.jpg

传感器需要共用3.3V和GND供电,可以把杜邦线的头抽出来(挑起条形的挡片就能抽出来了),然后把另一根线的头剪掉、剥线绕在抽出。

光照传感器 - Sonoff
VCC - 3.3V    
SCL - GPIO 3    
SDA - GPIO 1    
GND - GND

人体传感器 - Sonoff
VCC - 3.3V    
OUT - GPIO 14  
GND - GND

PS:人体传感器一般供电是5V,可能是3.3V供电影响,距离旋钮不能调大,不然好像工作不正常,具体请自行测试。

Step3.配置

设置时区

主页>Console
    输入 Timezone 8

设置switch2的模式

    主页>Console
    输入 SwitchMode2 1

PS:默认工作模式是0,详细解释可见帖子

设置传感器上报间隔

    主页>Configuration>Configure Logging
    配置Telemetry period,最小是10,一般60就可以

PS:这个只影响照度的上传频率,因为代码可以通过http接口主动取数据,不用担心设置过大影响准确率

设置mqtt

    主页>Configuration>Configure MQTT
    按mosquitto的设置配置Host、Port、User、Password
    主页>Configuration>Configure Other
    勾上MQTT enable

设置数据端口(详见27hh大的教程

主页>Configuration>Configure Module
    GPIO 4设置成Relay2,GPIO 14设置成Switch2。原理应该是借助Relay的状态来间接传递人体传感器的输出(有人>高电平>Switch2接通>Relay2接通>MQTT传递状态)。
    GPIO 3、GPIO 1按Step2的接线分别设置SCL、SDA,接收光照传感器数据。

三、Homeassistant

增加一个sensor,用于接收光照度信息;增加一个binary_sensor,用于接收触发状态;增加mqtt,与mosquitto主机通信;增加一个light/switch,Sonoff控制的灯。

sensor:
  - platform: mqtt
        name: illuminance_hallway
        state_topic: "tele/sonoff/SENSOR"
        value_template: "{{ value_json['BH1750'].Illuminance }}"
        unit_of_measurement: "lux"

    binary_sensor:
      - platform: mqtt
        name: motion_hallway
        qos: 1
        state_topic: "stat/sonoff/POWER2"
        payload_on: "ON"
        payload_off: "OFF"
        device_class: motion

mqtt:
  # MQTT Broker的IP地址或者域名
  broker: [mosquitto主机的ip]
  # MQTT Broker的端口号,缺省为1883
  port: 1883
  # 用户名
  username: [自定义]
  # 密码
  password: [自定义]
light:
  - platform: mqtt
    name: hallway
    state_topic: "stat/sonoff/POWER1"
    command_topic: "cmnd/sonoff/POWER1"
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    retain: true

四、Appdaemon


游客,如果您要查看本帖隐藏内容请回复







评分

参与人数 1金钱 +10 收起 理由
blindlight + 10 膜拜大神!

查看全部评分

博客 https://ljr.im
回复

使用道具 举报

1

主题

46

帖子

259

积分

中级会员

Rank: 3Rank: 3

积分
259
金钱
213
HASS币
0
发表于 2018-7-2 23:49:12 | 显示全部楼层
学习一下
回复

使用道具 举报

40

主题

1129

帖子

4256

积分

论坛元老

Rank: 8Rank: 8

积分
4256
金钱
3127
HASS币
0
发表于 2018-7-2 23:59:48 | 显示全部楼层
学习学习
回复

使用道具 举报

0

主题

21

帖子

162

积分

注册会员

Rank: 2

积分
162
金钱
141
HASS币
0
发表于 2018-7-3 00:17:58 | 显示全部楼层
学习一下
回复

使用道具 举报

2

主题

711

帖子

5045

积分

论坛元老

Rank: 8Rank: 8

积分
5045
金钱
4334
HASS币
85
发表于 2018-7-3 00:32:23 来自手机 | 显示全部楼层
感謝樓主分享
回复

使用道具 举报

8

主题

736

帖子

4570

积分

论坛元老

Rank: 8Rank: 8

积分
4570
金钱
3829
HASS币
40
QQ
发表于 2018-7-3 08:40:42 | 显示全部楼层
进来学下一下
回复

使用道具 举报

13

主题

554

帖子

4310

积分

论坛元老

Jeff

Rank: 8Rank: 8

积分
4310
金钱
3756
HASS币
10

活跃会员

发表于 2018-7-3 08:48:37 | 显示全部楼层
学习一下
Jeff
回复

使用道具 举报

0

主题

59

帖子

536

积分

高级会员

Rank: 4

积分
536
金钱
477
HASS币
0
发表于 2018-7-3 09:18:18 | 显示全部楼层
学习一下
回复

使用道具 举报

6

主题

484

帖子

4040

积分

论坛元老

Rank: 8Rank: 8

积分
4040
金钱
3556
HASS币
0
发表于 2018-7-3 10:07:35 | 显示全部楼层
谢谢分享
回复

使用道具 举报

17

主题

335

帖子

2545

积分

金牌会员

Rank: 6Rank: 6

积分
2545
金钱
2210
HASS币
0
发表于 2018-7-3 10:17:54 | 显示全部楼层
感谢分享
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 07:23 , Processed in 0.249403 second(s), 38 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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