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

 找回密码
 立即注册
查看: 1514|回复: 8

[技术探讨] Sonoff的M5的蓝牙追踪有什么用?

[复制链接]

146

主题

2269

帖子

7012

积分

元老级技术达人

积分
7012
金钱
4738
HASS币
30
发表于 2023-9-27 11:12:49 | 显示全部楼层 |阅读模式
Sonoff内置的M5的蓝牙追踪有什么用?是可以代替蓝牙网关的作用吗?是不是加入下面这个代码,更新ota就行?另外双击和长按用什么思路实现
bluetooth_proxy:
  active: true


回复

使用道具 举报

0

主题

20

帖子

221

积分

中级会员

Rank: 3Rank: 3

积分
221
金钱
201
HASS币
0
发表于 2023-9-27 15:39:12 | 显示全部楼层
雙擊和長按esphome裡已經有內建了

分享我的m5配置檔

------------------------------主yaml----------------------------
substitutions:
  devicetype: "switch"
  devicename: "entryway"
  friendly_devicename: 玄關開關

wifi:
  ap:
    ssid: ${devicetype}${devicename}Fallback
    password: oR9bAOI9J7P8
    ap_timeout: 1min
  domain: .local
  reboot_timeout: 15min
  power_save_mode: Light
  fast_connect: false
  networks:
  - ssid: !secret 'wifi_ssid'
    bssid: !secret 'entry_wifi'
    password: !secret 'wifi_password'
    priority: 3.0
  - ssid: !secret 'wifi_ssid'
    bssid: !secret 'livingroom_wifi'
    password: !secret 'wifi_password'
    priority: 2.0
  - ssid: !secret 'wifi_ssid'
    password: !secret 'wifi_password'
    priority: 1.0
  use_address: ${devicetype}-${devicename}.local

<<: !include switchm5/common.yaml

switch:
  - <<: !include { file: switchm5/switch.yaml, vars: { gpioid: 23, key: left, restore_mode: ALWAYS_ON } }
  - <<: !include { file: switchm5/switch.yaml, vars: { gpioid: 19, key: middle, restore_mode: ALWAYS_ON } }
  - <<: !include { file: switchm5/switch.yaml, vars: { gpioid: 22, key: right, restore_mode: ALWAYS_ON } }

binary_sensor:
  - <<: !include { file: switchm5/button.yaml, vars: { gpioid: 4, key: left } }
  - <<: !include { file: switchm5/button.yaml, vars: { gpioid: 0, key: middle } }
  - <<: !include { file: switchm5/button.yaml, vars: { gpioid: 15, key: right } }

------------------------------button yaml----------------------------

  - platform: gpio
    id: ${devicetype}_${devicename}_button_${key}
    name: "${friendly_devicename}按鍵${key}"
    disabled_by_default: true
    pin:
      number: ${gpioid}
      mode: INPUT_PULLUP
      inverted: true
    on_multi_click:
    - timing:
        - ON for at least 2s
        - OFF for at least 0.5s
      then:
        switch.toggle: ${devicetype}_${devicename}_switch_${key}
    - timing:
        - ON for at most 1s
        - OFF for at least 0.5s
      then:
        if:
            condition:
              api.connected:
            then:
                homeassistant.event:
                  event: esphome.events
                  data:
                    id: ${devicetype}-${devicename}
                    method: click
                    button: ${key}
            else:
                switch.toggle: ${devicetype}_${devicename}_switch_${key}
    - timing:
        - ON for at most 1s
        - OFF for at most 1s
        - ON for at most 1s
        - OFF for at least 0.2s
      then:
        homeassistant.event:
          event: esphome.events
          data:
            id: ${devicetype}-${devicename}
            method: doubleclick
            button: ${key}

-------------------------------------switch yaml ---------------------------------------
  - platform: gpio
    id: ${devicetype}_${devicename}_switch_${key}
    name: "${friendly_devicename}${key}"
    restore_mode: ${restore_mode}
    pin: ${gpioid}
    disabled_by_default: true
回复

使用道具 举报

0

主题

20

帖子

221

积分

中级会员

Rank: 3Rank: 3

积分
221
金钱
201
HASS币
0
发表于 2023-9-27 15:46:33 | 显示全部楼层
因為我所有的燈都是有連結到HA裡面

所以思路是每次點擊按鈕時都會先判斷
M5跟HA的連結是否正常,如果正常點擊後該做什麼事就交給HA處理方便採用較溫合的電燈開關方式
如果不正常,則toogle M5本身的繼電器開關,這樣HA或網路掛掉時,電燈仍然可以正常開關

回复

使用道具 举报

146

主题

2269

帖子

7012

积分

元老级技术达人

积分
7012
金钱
4738
HASS币
30
 楼主| 发表于 2023-9-27 15:49:18 | 显示全部楼层
n71154plus 发表于 2023-9-27 15:39
雙擊和長按esphome裡已經有內建了

分享我的m5配置檔

谢谢。不过代码我没有完全看懂,button里的gpioid是填按键的,还是继电器的,另外我有3个按键,需要几个双击和长按,那我就复制3个,修改下主要参数就行了对吧,蓝牙的事情,你知道不
回复

使用道具 举报

146

主题

2269

帖子

7012

积分

元老级技术达人

积分
7012
金钱
4738
HASS币
30
 楼主| 发表于 2023-9-27 15:55:37 | 显示全部楼层
n71154plus 发表于 2023-9-27 15:46
因為我所有的燈都是有連結到HA裡面

所以思路是每次點擊按鈕時都會先判斷

我已经理解了你的意思,我大致看了下,好像只看到单击,双击,并没有看到长按,比如我想规定按3秒以上,才算长按,否则算单击,不知道esp能自定义不,
回复

使用道具 举报

0

主题

20

帖子

221

积分

中级会员

Rank: 3Rank: 3

积分
221
金钱
201
HASS币
0
发表于 2023-9-27 16:05:06 | 显示全部楼层
這一段就是長按的囉  

ON - 2s的時間,可以設定按鈕按壓多久後需反應,off的時間就留0.5s就好

- timing:
        - ON for at least 2s
        - OFF for at least 0.5s
      then:
        switch.toggle: ${devicetype}_${devicename}_switch_${key}
回复

使用道具 举报

146

主题

2269

帖子

7012

积分

元老级技术达人

积分
7012
金钱
4738
HASS币
30
 楼主| 发表于 2023-9-27 16:06:47 | 显示全部楼层
n71154plus 发表于 2023-9-27 16:05
這一段就是長按的囉  

ON - 2s的時間,可以設定按鈕按壓多久後需反應,off的時間就留0.5s就好

好的,我明白了。谢谢,大致看懂了
回复

使用道具 举报

0

主题

20

帖子

221

积分

中级会员

Rank: 3Rank: 3

积分
221
金钱
201
HASS币
0
发表于 2023-9-28 09:25:55 | 显示全部楼层
bugensui 发表于 2023-9-27 15:55
我已经理解了你的意思,我大致看了下,好像只看到单击,双击,并没有看到长按,比如我想规定按3秒以上, ...

藍芽主要是做一個中繼站的意思,由M5接收周遭的藍牙設備訊號透過wifi轉發模擬給HA

可參考這一篇

https://www.home-assistant.io/in ... s-bluetooth-proxies
回复

使用道具 举报

146

主题

2269

帖子

7012

积分

元老级技术达人

积分
7012
金钱
4738
HASS币
30
 楼主| 发表于 2023-9-28 12:16:03 | 显示全部楼层
n71154plus 发表于 2023-9-28 09:25
藍芽主要是做一個中繼站的意思,由M5接收周遭的藍牙設備訊號透過wifi轉發模擬給HA

可參考這一篇

好的,我明白了。我学习下,谢谢
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 18:33 , Processed in 0.158878 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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