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

 找回密码
 立即注册
查看: 40187|回复: 121

[新奇玩法] 二個改裝模塊 + ESPHome = 透過 HASS 達成雙控

  [复制链接]

30

主题

493

帖子

4767

积分

论坛元老

佑桑

Rank: 8Rank: 8

积分
4767
金钱
4259
HASS币
156

教程狂人

发表于 2019-4-18 10:16:12 | 显示全部楼层 |阅读模式
本帖最后由 chinyaolin 于 2020-12-18 10:49 编辑

兩顆論壇改裝模塊 ( 第一顆 hassmart_1ch_aa6aa8 & 第二顆 hassmart_1ch_aa4dfb )
希望達成 hassmart_1ch_aa6aa8 連接實體燈, 與 hassmart_1ch_aa4dfb 空接聯動

PS1. HASS 已經集成 ESPHome API, 不再需要 MQTT
PS2. 已經有更新的解決方案 「ESPHome 透過 WIFI 直接互控 不再需要 HA」 , 有興趣可參考一下

不廢話,直接上代碼

第一顆 hassmart_1ch_aa6aa8
這裡就是一般單開模塊的設定,沒有什麼特別之處

esphome:
  name: hassmart_1ch_aa6aa8
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: !secret my_wifi_ssid
  password: !secret my_wifi_pw

logger:
api:
  password: !secret my_api_pw
ota:
web_server:

binary_sensor:
  - platform: gpio
    id: btn1
    internal: true
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
    on_press:
      - switch.toggle: relay1

switch:
  - platform: gpio
    name: "hassmart_1ch_aa6aa8_sw1"
    pin: 12
    id: relay1
    icon: "mdi:lightbulb-on-outline"

status_led:
  pin:
    number: GPIO13
    inverted: no


第二顆 hassmart_1ch_aa4dfb
設定一個 binary_sensor 對應到 HASS 中的第一顆模塊所建立的開關實例
並且在這個實例發生變化時同步使得第二顆模塊的 relay 變化

binary_sensor:
  - platform: homeassistant # 客廳燈
    id: light_livingroom
    name: "light_livingroom"
    entity_id: switch.hassmart_1ch_aa6aa8_sw1
    on_state:
        - if:
            condition:
              binary_sensor.is_on: light_livingroom
            then:
              - switch.turn_on: relay1
              - logger.log: "light_livingroom is ON!"
            else:
              - switch.turn_off: relay1
              - logger.log: "light_livingroom is OFF!"


設定 switch 時, 多加一些判斷條件
當 switch 有變化時, 同步呼叫 HASS 中第一顆開關的實例, 達成聯動

switch:
  # GPIO 12 Relay1
  - platform: gpio
    name: "hassmart_1ch_aa4dfb_sw1"
    pin: 12
    id: relay1
    icon: "mdi:ceiling-light"
    on_turn_on:
      - homeassistant.service:
          service: switch.turn_on
          data:
            entity_id: switch.hassmart_1ch_aa6aa8_sw1
    on_turn_off:
      - homeassistant.service:
          service: switch.turn_off
          data:
            entity_id: switch.hassmart_1ch_aa6aa8_sw1


完整代碼
如果上面幾段都能看懂的話, 可以自行組合, 也不需要回覆

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


完成後, 第一顆開關的狀態會透過 HASS 反應至第二顆
反之, 第二顆開關的狀態同樣會透過 HASS 反應回第一顆

评分

参与人数 1金钱 +20 HASS币 +10 收起 理由
+ 20 + 10 大神666!

查看全部评分

ASRock H370 PRO4, 48GB, 8TBx3 + 2TBx3
ESXi 6.7 + Ununtu + Docker + HASS.IO -> Homeassistant OS
(Home Assistant Supervised 官方文件)
回复

使用道具 举报

5

主题

193

帖子

2716

积分

金牌会员

Rank: 6Rank: 6

积分
2716
金钱
2523
HASS币
0
发表于 2019-4-18 10:31:44 | 显示全部楼层
前来看隐藏内容的
回复

使用道具 举报

7

主题

1975

帖子

5663

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
5663
金钱
3688
HASS币
145

灌水之王

发表于 2019-4-18 10:58:58 | 显示全部楼层
本帖最后由 xieahui 于 2019-4-18 11:00 编辑

是否可以理解成
空连一个模块自动化模块对灯进行switch.toggle
相当于无线按钮用
不用去折腾esphome
回复

使用道具 举报

2

主题

94

帖子

659

积分

高级会员

Rank: 4

积分
659
金钱
565
HASS币
0
发表于 2019-4-18 11:01:09 | 显示全部楼层
感谢分析学习学习          。
回复

使用道具 举报

6

主题

737

帖子

5586

积分

论坛元老

Rank: 8Rank: 8

积分
5586
金钱
4844
HASS币
20
发表于 2019-4-18 11:05:46 | 显示全部楼层
我是全部刷tasmota,开关直接用publish发送MQTT消息控制其他设备。
回复

使用道具 举报

30

主题

493

帖子

4767

积分

论坛元老

佑桑

Rank: 8Rank: 8

积分
4767
金钱
4259
HASS币
156

教程狂人

 楼主| 发表于 2019-4-18 13:04:45 | 显示全部楼层
xieahui 发表于 2019-4-18 10:58
是否可以理解成
空连一个模块自动化模块对灯进行switch.toggle
相当于无线按钮用

的確是這樣沒錯
但我的目標是模塊之間可以直接透過 Wifi 聯動, 不經 HASS
這次只是完成中間目標而已
ASRock H370 PRO4, 48GB, 8TBx3 + 2TBx3
ESXi 6.7 + Ununtu + Docker + HASS.IO -> Homeassistant OS
(Home Assistant Supervised 官方文件)
回复

使用道具 举报

30

主题

493

帖子

4767

积分

论坛元老

佑桑

Rank: 8Rank: 8

积分
4767
金钱
4259
HASS币
156

教程狂人

 楼主| 发表于 2019-4-18 13:06:29 | 显示全部楼层
mitu 发表于 2019-4-18 11:05
我是全部刷tasmota,开关直接用publish发送MQTT消息控制其他设备。

我自己打算把所有的 ESP8266 全部改為 ESPHome
而且 HASS 可以不經過 MQTT 就能與 ESPHome 集成
因為未來維護起來比較容易
ASRock H370 PRO4, 48GB, 8TBx3 + 2TBx3
ESXi 6.7 + Ununtu + Docker + HASS.IO -> Homeassistant OS
(Home Assistant Supervised 官方文件)
回复

使用道具 举报

26

主题

2096

帖子

8510

积分

论坛元老

Rank: 8Rank: 8

积分
8510
金钱
6409
HASS币
30

论坛元老

发表于 2019-4-18 16:00:35 | 显示全部楼层
ESPhome不走mqtt么,好像是更简单了
回复

使用道具 举报

30

主题

493

帖子

4767

积分

论坛元老

佑桑

Rank: 8Rank: 8

积分
4767
金钱
4259
HASS币
156

教程狂人

 楼主| 发表于 2019-4-18 16:10:20 | 显示全部楼层
本帖最后由 chinyaolin 于 2019-4-18 16:11 编辑
情非殇 发表于 2019-4-18 16:00
ESPhome不走mqtt么,好像是更简单了

對的, ESPHome 已經在 HASS 集成了, 透過 API 直通, 不再需要 MQTT

esphome.PNG
ASRock H370 PRO4, 48GB, 8TBx3 + 2TBx3
ESXi 6.7 + Ununtu + Docker + HASS.IO -> Homeassistant OS
(Home Assistant Supervised 官方文件)
回复

使用道具 举报

8

主题

863

帖子

5126

积分

论坛元老

Rank: 8Rank: 8

积分
5126
金钱
4263
HASS币
0
发表于 2019-4-18 16:55:31 | 显示全部楼层
大神666
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-26 14:40 , Processed in 0.082759 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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