第二篇文章,还是个新手……

我正在尝试设置一个自动装置,每当费巴罗运动传感器的发光发生变化时就会触发(然后温度也会发生变化)。

当自动化触发时,目的是将实体值作为URL调用的一部分发送给rest api以及api期望的其他参数。

在我的自动化。yaml,我目前有:

- id: '1595854635118' alias: 999-FM-FM1L说明:Lux on FM1触发器:device_id: eee0ecfcaf3047479aaab3a3cd10cf3e平台:状态entity_id:传感器。fibaro_system_fgms001_zw5_motion_sensor_luminance action: - data: ' url_param: ?R=V&A=0&M=999-FM-FM1L&D={{传感器。fibaro_system_fgms001_zw5_motion_sensor_luminance}}服务:rest_command.ccc_send

“urlparam”是我发送给rest api调用的参数。

?R=V&A=0&M=999-FM-FM1L&D=是它期望的参数字符串,然后

{{sensor.fibaro_system_fgms001_zw5_motion_sensor_luminance}}

在自动化调用rest api的情况下,它将作为字符串({{sensor。Fibaro_system_fgms001 etc),而不是一个值。

我显然在一些事情上偏离了目标,谁能帮我从痛苦中解脱出来,解释一下我做错了什么(最好是简短的词)?

谢谢

使用data_template.而不是数据规则1

另外,请正确格式化您的代码,按照这里的规则11.您的缩进可能全错了,但我们无法从您当前的格式中判断。

嗨Troon,

非常感谢您的帮助。

我已经将data更改为data_template:

—id: '1595936114203' alias: 999-FM-FM1L description: "触发器:—entity_id:传感器。fibaro_system_fgms001_zw5_motion_sensor_luminance platform: state condition: [] action: - data_template: url_param: ?R=V&A=0&M=999-FM-FM1L&D={{sensor。fibaro_system_fgms001_zw5_motion_sensor_luminance}}服务:rest_command.ccc_send

当它包含“data”时,它发送{{sensor。值为Fibaro_system_fgms001_zw5_motion_sensor_luminance}}

在将其更改为“data_template”后,它不再发送数据到rest api,我得到以下错误:

999-FM-FM1L:执行脚本错误。错误渲染数据模板:UndefinedError: ' sensor ' is undefined

我确信我又犯了一个明显的错误,我只是不确定那是什么

你不会得到国家的。你只有一个entity_id在那里没有引号(使它成为一个字符串)。查看这篇关于模板类型.这意味着模板试图访问传感器不存在的对象。属性中的一个从状态机获取状态模板功能,如州()

{{州(sensor.fibaro_system_fgms001_zw5_motion_sensor_luminance)}}

进步!: slight_smile:

—id:‘1595936114203’alias: 999-FM-FM1L说明:‘Lux level change on FM1’触发器:—entity_id: sensor。fgms001_zw5_motion_sensor_luminance platform: state condition: [] action: - data_template: url_param: ?R=V&A=0&M=999-FM-FM1L&D= url_value: {{states("sensor.fibaro_system_fgms001_zw5_motion_sensor_luminance")}}' service: rest_命令.ccc_test . fgms001_zw5_motion_sensor_luminance"

由于某些原因,它要求“而不是”为了工作(以下的工作线):

”{{州(sensor.fibaro_system_fgms001_zw5_motion_sensor_luminance)}}”

谢谢你们俩的帮助-不知道我应该把哪个帖子标记为解决方案?这两种方法对我找到答案都很有用。

标记你的,因为它有完整的解决方案

如果你使用它也没关系“{{‘东西’}}”“{{“东西”}}”-但内对和外对必须不同。

正如特隆所说:-

You will find the majority of examples on this forum (not all but go figure) to have " as outers and ’ as inners. I think this is mainly because it is often the case that there are multiple inner quotes and thus it makes the template shorter (and easier to read in my opinion too).
不管你是坚持一种还是另一种它都会减少剪切和粘贴的错误引用

编辑:让事情变得更糟。GUI编辑器可能会介入并说“不!我不喜欢那样,我会把所有东西都改成单引号和双单引号——只是为了扰乱你的头脑!”
: rofl:

1像