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

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

 找回密码
 立即注册
查看: 1596|回复: 12

[技术探讨] (已解决)ESPHome是否可以实现类似米家灵动功能呢?

[复制链接]

30

主题

257

帖子

824

积分

高级会员

Rank: 4

积分
824
金钱
567
HASS币
0
发表于 2021-8-11 22:48:05 | 显示全部楼层 |阅读模式
本帖最后由 Clark 于 2021-8-12 16:16 编辑

sonoff basic通断器刷入ESPHome固件后,是否可以实现“反转断电前的状态”功能呢? 这个功能如何配合自回弹开关,是否每次短按开关瞬时断电再恢复通电,就会切换亮灯和灭灯呢。
易微联通断器官方固件,通电反应只有“开启”,“关闭”,“恢复断电前状态”三个选项,所以无法配合类似灵动功能的自回弹开关使用。


https://www.esphome.io/components/light/index.html

restore_mode (Optional): Control how the light attempts to restore state on bootup. For restoring on ESP8266s, also see esp8266_restore_from_flash in the esphome section.

        RESTORE_DEFAULT_OFF (Default) - Attempt to restore state and default to OFF if not possible to restore.

        RESTORE_DEFAULT_ON - Attempt to restore state and default to ON.

        RESTORE_INVERTED_OFF - Attempt to restore state inverted from the previous state and default to OFF.

        RESTORE_INVERTED_ON - Attempt to restore state inverted from the previous state and default to ON.

        ALWAYS_OFF - Always initialize the light as OFF on bootup.

        ALWAYS_ON - Always initialize the light as ON on bootup.



回复

使用道具 举报

58

主题

1389

帖子

5346

积分

超级版主

Rank: 8Rank: 8

积分
5346
金钱
3897
HASS币
360

教程狂人突出贡献

发表于 2021-8-11 23:39:33 来自手机 | 显示全部楼层
本帖最后由 XCray 于 2021-8-12 15:19 编辑

你都已经把答案贴出来了呀……配合restore from flash,当然你要不心疼flash芯片,这东西写入次数是有限的,手头备上几个模块或flash芯片并且会焊接更好。
~~~~~~~~~~
补充:赞同10楼朋友的观点,flash芯片的寿命其实足够长了,10万次写入也是一个很普通的指标,完全不用担心。不要被我上面那句话吓到
回复

使用道具 举报

2

主题

172

帖子

1107

积分

金牌会员

Rank: 6Rank: 6

积分
1107
金钱
930
HASS币
30
发表于 2021-8-12 02:06:01 | 显示全部楼层
本帖最后由 fung1006 于 2021-8-12 02:09 编辑

反轉斷電前的狀態用意為何?
回复

使用道具 举报

58

主题

1389

帖子

5346

积分

超级版主

Rank: 8Rank: 8

积分
5346
金钱
3897
HASS币
360

教程狂人突出贡献

发表于 2021-8-12 07:41:01 | 显示全部楼层
fung1006 发表于 2021-8-12 02:06
反轉斷電前的狀態用意為何?

这才是“灵动”的意义呀,配合自回弹开关,在不影响既有电路、不走新线的情况下尽可能照顾到原有使用习惯。
回复

使用道具 举报

17

主题

1637

帖子

5772

积分

论坛元老

Rank: 8Rank: 8

积分
5772
金钱
4130
HASS币
20

论坛元老

发表于 2021-8-12 10:10:23 | 显示全部楼层
用essphome的automation自动化写吧,断电重启默认switch为on,然后switch turn off的时候,delay 100ms,然后turn on自己的id,

这样既可以避免flash擦写1000次数,也模拟除了所谓灵动的流程
回复

使用道具 举报

30

主题

257

帖子

824

积分

高级会员

Rank: 4

积分
824
金钱
567
HASS币
0
 楼主| 发表于 2021-8-12 11:50:35 来自手机 | 显示全部楼层
情非殇 发表于 2021-8-12 10:10
用essphome的automation自动化写吧,断电重启默认switch为on,然后switch turn off的时候,delay 100ms,然 ...

用essphome的automation自动化写,断电重启默认switch为on,然后switch turn off的时候,delay 100ms,然后turn on自己的id。

switch turn off延迟100毫秒,也就是瞬时按回弹开关,开关状态并不会切换到关闭?
然后turn on自己的id,请问这个怎样理解呢?
回复

使用道具 举报

17

主题

1637

帖子

5772

积分

论坛元老

Rank: 8Rank: 8

积分
5772
金钱
4130
HASS币
20

论坛元老

发表于 2021-8-12 11:59:26 | 显示全部楼层
Clark 发表于 2021-8-12 11:50
用essphome的automation自动化写,断电重启默认switch为on,然后switch turn off的时候,delay 100ms,然 ...

自回弹,灵动系列是默认是常通的,你按下去后会断电,松手后会复位通电。

继电器的话就是模拟灵动,默认常通,关闭作为触发条件,只要关闭就延时一丢丢时间,然后执行打开操作。

这不就跟灵动开关是一样的么
回复

使用道具 举报

17

主题

1637

帖子

5772

积分

论坛元老

Rank: 8Rank: 8

积分
5772
金钱
4130
HASS币
20

论坛元老

发表于 2021-8-12 12:01:46 | 显示全部楼层
回复

使用道具 举报

30

主题

257

帖子

824

积分

高级会员

Rank: 4

积分
824
金钱
567
HASS币
0
 楼主| 发表于 2021-8-12 13:45:00 来自手机 | 显示全部楼层
情非殇 发表于 2021-8-12 11:59
自回弹,灵动系列是默认是常通的,你按下去后会断电,松手后会复位通电。

继电器的话就是模拟灵动,默认 ...

关闭作为出发条件,通电后应该执行切换操作才对啊。要不然按一下亮灯,再按一下还是亮灯,岂不是回弹开关无法关灯么?
回复

使用道具 举报

58

主题

1389

帖子

5346

积分

超级版主

Rank: 8Rank: 8

积分
5346
金钱
3897
HASS币
360

教程狂人突出贡献

发表于 2021-8-12 15:04:19 | 显示全部楼层
ryanh7 发表于 2021-8-12 13:53
自动化是搞不定的,方法还是二楼的方法。flash平均可以擦写10万以上,继电器也差不多这个寿命,加上软件上 ...

正解!

Flash芯片的寿命确实够长的,绝对比继电器长很多。

如果实在担心写入次数,可以借助网络让HA来储存原来的状态,也很容易。

灵动可以实现的关键是必须有地方保存触发之前的状态(也就是一个二进制位)触发后进行反转操作,这个状态要么保存在flash里,要么保存在ha里(当然还可以保存在其他地方比如数据库里),都可以实现想要的效果。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2021-9-24 10:48 , Processed in 0.112456 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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