我们有模板二进制传感器和MQTT二进制传感器(传感器和开关和锁等)。他们太棒了!

我们没有相同的事件。

最近,我试图帮助的人ESPHome用于门传感器。他们选择不使用MQTT离家和门传感器直接公布数据助理是一个事件。19463331伟德国际

这听起来真的有效,直到你尝试配置binary_sensor实体收到这些事件…没有这样的动物存在于家庭助理。19463331伟德国际

解决方案包括自动化和input_booleans噢我的天!它容易得多,如果我们有类似事件二进制传感器可以直接从事件总线接收。

答案很简单,事件没有状态;二进制传感器。

有很多理由不去实现这些事件作为二进制传感器(模板成一个,实际上不是一个好主意)。相反,直接处理/侦听事件。更有效,更容易出错。

他的门事件发送状态传感器。事件数据包含其当前状态。

这就像订阅MQTT主题和接收设备的当前状态。

的解决方案涉及到自动化的电话input_boolean.turn_on(或关闭),但一个input_boolean门传感器并不是一个合适的模型。

是的,我同意,在这种情况下(门),二进制传感器将是有意义的。但这可以实现ESPHome本身对吧?我不确定哈在这部分的作用是什么…

1像

MQTT时,助理的作用是为传感器提供组件,bi19463331伟德国际nary_sensor等等,可以接收MQTT载荷。

同样的想法提出的事件。

当然,除非有另一种方式直接进入binary_sensor消费事件数据。

请注意
如果我是他,我会选择MQTT。解决方案是一个收保护费的黑帮。

我不认为有什么对一个二进制传感器封装一个事件和超时,只要它只是用户可配置的。

我们不希望做拉入数据的集成,源自英国始于1946这意味着添加不存在的状态。

我100%同意。它应该像MQTT二进制传感器简单侦听传入载荷通过一个指定的话题。二进制传感器将配置的事件(用户)监听特定事件的事件数据可以使用(通过一个模板)

无论如何,只是把它扔出去;我不使用ESPHome所以我的兴趣这是肤浅的。

外的11519463331伟德国际家助理触发器可重用的自动化集成。我认为这应该成为触发配置+一个超时最大的灵活性

binary_sensor:平台:触发器触发:#标准触发验证平台:事件事件:esphome_movement超时:20 #标准配置
8喜欢

源自英国始于1946集成像rfxtrx已经挣扎,使一些在过去的事件转换为二进制传感器与延迟,将会很高兴有一个通用的解决方案。

今天我学会了如何听事件总线和提取事件,如无线个域网按钮按下。
移动这NodeRed我建立以下事件逻辑流。
很遗憾这不是哈内可用的本地。是的,我听说过的借口为什么它不是,但强迫用户事件总线的世界永远不会赢得任何可用性奖项,尽管其他地方带来的巨大收益…

1像

抱歉拖了一些旧(转发其他线程被关闭,因为它是一个重复的)。

有什么不对人ESPhome节点/ info他们告诉你,如果他们没有一个实体的数据。我使用ESPhome HA API(也不是通过MQTT)和我有实体传感器。即:实际上他们应该有一个binary_sensor已经由HA API从ESPhome节点

我最近遇到一个问题使用ESPHome API生成HASS ESPHome事件。文档需要www.19463331.com更加清楚,我应该把公关,活动必须命名esphome。<你一些字符串定义>他们必须esphome域。

因此,事件命名esphome_movement不通过检查ESPHome定义限制ESPHome生成的事件仅仅是吗esphome域。

代码从组件/ esphome / __init__ . py:

如果服务。is_event: # ESPHome使用servicecall包事件和服务调用#确保用户只能发送事件形成的ESPHome。xyz '如果域! =“esphome”: _LOGGER。错误(“只能生成事件下esphome域!(% s)”,主机)返回hass.bus.async_fire(服务。服务,hass service_data)其他:。async_create_task (hass.services。service_name async_call(域,service_data,阻止= True))

只有ESPHome有关,但你不能使用device_name在事件数据,我想这苦头了。我觉得只有device_name关键的影响,因为它似乎保留HASS的关键在某些领域。我需要返回到代码来真正了解什么是发生在这。

很兴奋触发器外面正在实现自动化!期待玩的可能性!

我认为真正的问题不在于我们需要一个事件二进制传感器。

首先回顾一下你为什么不能定义一个二进制传感器等设备的远程控制(开关你把墙上的按钮你按下)。

很多现实生活的遥控器没有原始的开/关状态。

首先是看整个开关。让我们以一个飞利浦色调4按钮远程。

首先是顶级,整个远程。

远程不进入一个状态当你按上和一个状态当你按掉。你像一群灯光控制的。但是你可以有多个开关控制相同的光。

远程控制设备。,每个按钮都有自己的生活。

所以让我们看看一个按钮在一个偏远的。

我可以按保存下来。我可以释放它关闭,电你可以认为这是一个用一个二进制状态。但现实是,物理电气开关不是你所看到的在无线个域网网络。按钮创建消息。当你按下按钮。另一个消息时释放它。第三个消息如果你释放后举行了长时间(长按)。
我有一个6按钮无线个域网远程发送一个单独的事件消息如果我按它的两倍。所以相同的按钮可以发送,短,长,双机。

他们不是二进制

所以我们搭配的不活动二进制传感器?因为大多数的甚至不是二进制。

好的。现在,自然的反应,那么让它一个传感器与多个国家。但这仍然是有误导性的。如果我按下一个按钮,释放它长按我在很长一段按状态直到第二天当我再按下按钮吗?不是真的。

事件是发生在零时间如果时间原子的时刻。

有一个真正的问题。它一直在试图固定自动化编辑器。

我可以选择一个触发器类型设备

我可以选择远程控制开关

我可以选择确切的按钮按下

直到现在它看起来很棒。合著,然后“!

这就保存在自动化。yaml(仅触发部分)

触发:device_id: 7 f8fff2db7ad4db9b20fe1396cdcd147域:deconz平台:设备亚型:turn_on类型:remote_button_short_press

如果你只住在automatin编辑器和呼吸和其局限性然后你可能不在乎。但那一刻希望发达国家和组织你的自动化文件和文件夹然后这个功能已经实现,并不是真正的用户友好的在这种情况下

这个问题是device_id。7 f8fff2db7ad4db9b20fe1396cdcd147

有两件事会使这个完美的世界。

  • 您应该能够使用一个人类可读名称。device_id不是为人类。同样的设备叫做“床上对开关”在我的安装。当您添加设备,HA应该创建事件实体具有相同名称的规则,我们知道从所有其他实体。这将是一个无状态实体明显(见上图)
  • 你应该能够看到的事件列表使用相同的友好名称已经在自动化编辑器中可用。

这似乎是所有。的UI添加到您可以创建自动化的集成像Deconz基本级别的源自英国始于1946用户是一个伟大的功能。

创建相同的功能与事件语法你这样做

触发:平台:事件event_type: deconz_event event_data: id: bed_left_switch

id是人类友好。需要的友好名称和使用众所周知的规则用于创建bed_left_switch实体。

问题事件语法是极客人们必须知道如何听取事件和按下按钮在远程和写下id和事件代码(4位数deconz设备)

如果你能使用这个设备触发语法已经在自动化编辑器,但与人类友好的设备名称,你可以找到在集成UI,然后你会解决这种搭配的背后的真正问题。

1像

这个线程已经采取了迂回到主题无关的最初的搭配。

忘记ESPHome;这是次要的搭配。他们只提到说明让我想到基于事件的实体。

re-iterate,这种搭配的灵感来源是存在一个REST API可以用来定制的事件发送到事件总线:
POST / api /事件/ < event_type >

然而,这些自定义事件不能被一个实体,只有通过自动化使用触发一个事件。这个搭配的是为什么不基于事件的实体,可以使用自定义事件。

19463331伟德国际家助理已经MQTT平台接收的数据是直接使用传感器,binary_sensors,球迷,锁,等家里助理有可能支持自定义事件以相同的方式;一个活动平台,允许您定义,例如,一个温度传感器接收来自一个定制事件的值。使用一个Balloob上面提供了一个示例平台:触发这就是我想要的方向。

1像

这里有一些证据的需要触发binary_sensor(各种各样的):

# 1

咋的触发事件是这样的:

触发:平台:事件event_type: zha_event event_data: device_ieee: 28:6d: 97:00:01:03:32:广告命令:button_single

很多。如果我能包含这个binary_sensor内,它将很容易重用:

binary_sensor:平台:触发传感器:button_press:触发:-平台:事件event_type: zha_event event_data: device_ieee: 28:6d: 97:00:01:03:32:广告命令:button_single delay_off:秒:30

# 2

我经常想知道门已经打开或一盏灯打开在过去,说,分钟。像AppDaemon之外,只有2个方法:

  1. 一个定时器和一个自动化打开定时器,这时门开了。这是乏味的,因为添加定时器需要重启的助理。19463331伟德国际最重要的是,这意味着两件事(一个计时器和自动化)是一个单一的任务。
  2. input_boolean和自动化,触发门打开,打开input_boolean,然后等待60秒之前把它退出。而input_boolean可以创建没有重启(谢谢,谢谢,谢谢),一个input_boolean不是真正正确的答案,因为它没有的所有特性binary_sensor(如device_class)。再次,这需要两个条件为单个任务。
4喜欢

认为我在寻找这样的东西,但没有提供的例子还不是吗?虽然115年提到,一个配置错误扔在平台:触发…

还没有实现?

完全同意,binary_sensor与使用的能力触发平台将会很有帮助。即使我不使用ESPHome(吗?),我发现了一个用例在使用Doorbird集成。它使用事件来通知哈例如运动或按一个按钮。

基本上我怀疑有很多用例不同集成ESPHome或Doorbird提到之外的。源自英国始于1946但我只是想插话这个特性请求(?)。

现在我不得不采取一些自动化脚本和一个“助手”input_boolean。真的太棒了,如果我能做到这一点:

推荐- - - - - - # binary_sensor。见://www.sz-tiancheng.com/int源自英国始于1946egrations/binary_sensor/ binary_sensor:平台:触发器名称:Frontdoor运动图标:mdi:运动传感超时:10 #或者“off_delay”触发:平台:事件事件:doorbird_doorbird_motion

这也会弹有用sonoff无线个域网开关SNZB 01当使用作为一个门铃或其他通知的目的。

你将如何把“发布/订阅”事件变成一个传统的传感器吗?

我有一窝的门铃,它返回运动检测事件(你可以看到他们在开发工具→事件和订阅nest_event)
门铃发出一个事件每次检测到运动,但这是真的没有别的…
我想创建一个定制的运动传感器,这样:

默认状态:关闭
当一个运动即使收到,改变状态,启动一个计时器。如果另一个甚至是收到计时器运行时,重置计时器。如果没有收到甚至和定时器达到0,从上到下改变状态。

这有可能吗?

@anubisg1是否binary_sensor:+触发:上面的例子为你工作?