找回密码
 立即注册

微信扫码登录

搜索
查看: 6771|回复: 21

[技术探讨] ESPHOME 与HA内的开关联动

[复制链接]

26

主题

143

回帖

652

积分

高级会员

积分
652
金钱
483
HASS币
0
发表于 2021-12-15 06:45:18 | 显示全部楼层 |阅读模式
请问这样的代码可以与HA已存在的开关联动在一起吗。
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO1
      inverted: True
      mode: INPUT_PULLUP
    on_press:
      then:
        - switch.toggle:
            id: relay_1         这个id  可以修改成与已存在的开关ID联动吗?


想用一块ESP8266  来接4位点动开关的面板。每位开关控制不同的设备。意思差不多是想为这些设备增加个随意贴开关。

或者有没有别的代码可以实现这功能?




回复

使用道具 举报

26

主题

143

回帖

652

积分

高级会员

积分
652
金钱
483
HASS币
0
 楼主| 发表于 2021-12-15 12:30:49 | 显示全部楼层

你好,请问这些代码是放在哪里的。我放在ESPHOME里提示有错误。

Failed config

binary_sensor.gpio: [source /config/esphome/esp01s.yaml:30]
  platform: gpio
  pin:
    number: GPIO2
    mode: INPUT
    inverted: True
  name: ${device_name}_1
  on_multi_click:  [source /config/esphome/esp01s.yaml:38]
    - [source /config/esphome/esp01s.yaml:38]
      timing:
        - ON for at most 0.5s
        - OFF for at least 0.2s
      then:  [source /config/esphome/esp01s.yaml:42]
        - [source /config/esphome/esp01s.yaml:42]
         
          Unable to find action with the name 'switch.toggle'.
          switch.toggle: load1 [source /config/esphome/esp01s.yaml:42]
回复

使用道具 举报

26

主题

143

回帖

652

积分

高级会员

积分
652
金钱
483
HASS币
0
 楼主| 发表于 2021-12-15 12:55:26 来自手机 | 显示全部楼层
hunterfox 发表于 2021-12-15 12:33
可以实现的:
需要用
  - platform: homeassistant   #api模式有效,可以从hass 取数据

不是很懂,可以帮我写个完整代码我去复制吗?谢谢
回复

使用道具 举报

26

主题

143

回帖

652

积分

高级会员

积分
652
金钱
483
HASS币
0
 楼主| 发表于 2021-12-15 14:20:09 来自手机 | 显示全部楼层
diba.qiu 发表于 2021-12-15 13:51
就esphome yaml裡。

有沒有可能你沒有定義device_name?

请问怎样定义?我是小白什么都不懂。
我把报错这行          - switch.toggle: load1  删了。但编译后无效果。
回复

使用道具 举报

26

主题

143

回帖

652

积分

高级会员

积分
652
金钱
483
HASS币
0
 楼主| 发表于 2021-12-15 15:29:58 | 显示全部楼层
blindlight 发表于 2021-12-15 15:14
都过ha了 直接ha里写不好吗 这种自动化ha很简单就实现了 干嘛非要为难自己写在esphome里呢
反正ha宕机了你 ...

我也不懂。我有一块D1 MINI。 有四块ESP01S 接了在灯上面。现在想把这块 D1 MINI 接上四位开关的物理开关来控制这四块ESP01S。等于加个随意贴方便按。请问有什么方案能实现?如果方便的话附上代码给我复制。我是小白不太懂。谢谢
回复

使用道具 举报

26

主题

143

回帖

652

积分

高级会员

积分
652
金钱
483
HASS币
0
 楼主| 发表于 2021-12-15 16:31:17 | 显示全部楼层
substitutions:
  device_name: your_device_name

esphome:
  name: ${device_name}
  platform: ESP8266
  board: esp01_1m


# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "eb4756b27094e822ef78e32dadf46f20"

wifi:
  ssid: "tp-67878"
  password: "25963223"

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

captive_portal:


binary_sensor:
  - platform: gpio
    pin:
      number: GPIO2
      mode: INPUT
      inverted: True
    name: "${device_name}_1"
      
    on_multi_click:
    - timing:
        - ON for at most 0.5s
        - OFF for at least 0.2s
      then:
        - switch.toggle: load1    #################### 还是这一行报错。
    - timing:
        - ON for at most 0.5s
        - OFF for at most 0.5s
        - ON for at most 0.5s
        - OFF for at least 0.2s
      then:
        - homeassistant.service:
            service: switch.toggle
            data:
              entity_id: switch.sonoff_s20b #魚缸燈
    - timing:
        - ON for 1s to 3s
        - OFF for at least 0.2s
      then:
        - homeassistant.service:
            service: switch.toggle
            data:
              entity_id: switch.sonoff_basic134 #魚缸過濾

你好,还是有一行报错。帮我看看我全部代码是哪里错了。谢谢








回复

使用道具 举报

26

主题

143

回帖

652

积分

高级会员

积分
652
金钱
483
HASS币
0
 楼主| 发表于 2021-12-15 17:33:31 来自手机 | 显示全部楼层
diba.qiu 发表于 2021-12-15 17:13
你的load1根本沒定義阿

我不会呢,你把你的esphome里的代码全部复制给我参照下好吗?谢谢
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-8-2 16:17 , Processed in 0.049723 second(s), 8 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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