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

 找回密码
 立即注册
12
返回列表 发新帖
楼主: icase

[技术探讨] 如何将只有一种状态的Switch做成可以区分on或off的虚拟开关?

[复制链接]

4

主题

139

帖子

1265

积分

金牌会员

Rank: 6Rank: 6

积分
1265
金钱
1126
HASS币
0
发表于 2021-3-19 15:04:20 | 显示全部楼层
非常感谢,正在为电视机开关状态不同步找解决办法。
回复

使用道具 举报

33

主题

312

帖子

1849

积分

金牌会员

Rank: 6Rank: 6

积分
1849
金钱
1532
HASS币
40
发表于 2021-3-26 17:04:13 | 显示全部楼层
看看电视机有没有usb接口,在看看电视关机后usb接口的5v有电吗?没电就好办,搞个光耦,输入端接电视机的usb,输出接esp模块,esp的gpio做个二进制传感器就行。这样就能判断电视是否关机
回复

使用道具 举报

1

主题

126

帖子

743

积分

高级会员

Rank: 4

积分
743
金钱
617
HASS币
0
发表于 2024-3-2 22:47:45 | 显示全部楼层
能不能在nodered上实现呢~~ 代码添加格式出错。搞不定
回复

使用道具 举报

0

主题

7

帖子

97

积分

注册会员

Rank: 2

积分
97
金钱
90
HASS币
0
发表于 2024-6-14 22:51:15 | 显示全部楼层
本帖最后由 ctyfrank 于 2024-6-14 22:54 编辑
cyczq3 发表于 2024-3-2 22:47
能不能在nodered上实现呢~~ 代码添加格式出错。搞不定

#声明全局变量:ECO

globals:

    - id: o
    type: int
    restore_value: true
    initial_value: '0'

#这是开关
switch:
  - platform: template
    name: "ECO"
    id: switch_o
    turn_on_action:
      - lambda: |-
          id(o) = 1;
          ESP_LOGD("global", "ECO: %d", id(o));
    turn_off_action:
      - lambda: |-
          id(o) = 0;
          ESP_LOGD("global", "ECO: %d", id(o));
    lambda: |-
      return id(o);







我用chatGPT生成的,先声明一个全局变量,然后设置一个switch,最后那句返回全局变量的值,然后在homeassistant里边按这个按键,按键状态就跟着全局变量走了……
我猜重点应该在那句return上。


回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 20:06 , Processed in 0.052929 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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