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

 找回密码
 立即注册
查看: 2569|回复: 10

[已解决] 怎么把blueprint改一改拿来用?

[复制链接]

32

主题

285

帖子

1819

积分

金牌会员

Rank: 6Rank: 6

积分
1819
金钱
1534
HASS币
0
发表于 2022-5-19 23:44:23 | 显示全部楼层 |阅读模式
本帖最后由 justion 于 2022-5-22 12:26 编辑

我之前有一个自动话是想做每月把nas打开一次完成备份,然后自动关机,并通知我备份完成了,但是每月我不会写,无奈弄了每周一次。
但是今天晚上看到一个blueprint是每月一次完成自动备份,但是他是自动ha备份,不是备份到nas里,还是要修改,所以我把里面内容写到自动里面,但是失败了,求指导。

blueprint的内容

blueprint的内容

我写的内容

我写的内容

图一是原版blueprint,图二是我写的,接触ha后才接触的代码,好难。
失败以后想着把blueprint里面的备份内容删了,直接拿前面的数据用,就有了下面一段内容,但是use_blueprint:这段内容老是会自己跑到最后面去,有时候能触发成功,有时候失败。
Snipaste_2022-05-19_23-55-33.png
回复

使用道具 举报

32

主题

1065

帖子

4946

积分

论坛元老

Rank: 8Rank: 8

积分
4946
金钱
3866
HASS币
90
发表于 2022-5-20 02:46:54 | 显示全部楼层
本帖最后由 relliky 于 2022-5-20 03:09 编辑
失败以后想着把blueprint里面的备份内容删了,直接拿前面的数据用,就有了下面一段内容,但是use_blueprint:这段内容老是会自己跑到最后面去,有时候能触发成功,有时候失败。

我都不知道use_blueprint里面加action居然不报错。。。没找到官网对这个行为的解释,但我个人不建议这么使用。为什么不直接把blueprint 里的action替换成你想要的action呢?你可以直接修改这个blueprint文件,在/config/blueprints/automation/apples/monthly-backup-schedule.yaml。

有时候能触发成功,有时候失败。

可以看看图形界面生成的debug flow看看为什么没有工作。需要注意的是,你需要加上id后面随便赋个值才能使用。比如
- id: xxxxx
  alias: aaa
  use_blueprint:
    xxxxx
  action:
    xxxxx

Screenshot 2022-05-19 at 19.52.48.png


------------------------------------------------------------
扯个题外话:
你的问题问真是无比清晰,给了足够多的内容。要是论坛问问题的人都能都像你一样把问题写这么清楚,大家都会很愿意帮忙回答的。

评分

参与人数 1金钱 +5 收起 理由
justion + 5 在下对你的景仰犹如滔滔长江之水,连绵不绝.

查看全部评分

我家全屋智能的HA设置 https://github.com/relliky/Tais_Home_Assistant_Config
回复

使用道具 举报

32

主题

1065

帖子

4946

积分

论坛元老

Rank: 8Rank: 8

积分
4946
金钱
3866
HASS币
90
发表于 2022-5-20 02:56:24 | 显示全部楼层
本帖最后由 relliky 于 2022-5-20 03:11 编辑
图二是我写的,接触ha后才接触的代码,好难。

我看不出来图二有什么大问题,应挑刺的话,我不知道你用的单引号是不是中文引号。如果是的话,可能yaml不能识别,换成英文单引号试试。如果你用的HAOS,建议用Visual studio addon (叫studio code server),这个IDE里面有语法查错的功能。

同样的,可以用debug automation功能去debug。
我家全屋智能的HA设置 https://github.com/relliky/Tais_Home_Assistant_Config
回复

使用道具 举报

56

主题

929

帖子

4077

积分

论坛元老

Rank: 8Rank: 8

积分
4077
金钱
3148
HASS币
0
发表于 2022-5-20 09:21:25 | 显示全部楼层
每月1号,你看这样行不?
{{ (now().strftime("%d") | int) == 1 }}
回复

使用道具 举报

32

主题

285

帖子

1819

积分

金牌会员

Rank: 6Rank: 6

积分
1819
金钱
1534
HASS币
0
 楼主| 发表于 2022-5-20 18:53:06 | 显示全部楼层
relliky 发表于 2022-5-20 02:46
我都不知道use_blueprint里面加action居然不报错。。。没找到官网对这个行为的解释,但我个人不建议这么使 ...

,因为毕竟没有把自己的内容描述清楚的话帮忙的人也只能干着急,谢谢您的回答,我去试试看,谢谢
回复

使用道具 举报

32

主题

285

帖子

1819

积分

金牌会员

Rank: 6Rank: 6

积分
1819
金钱
1534
HASS币
0
 楼主| 发表于 2022-5-20 19:02:45 | 显示全部楼层
bainiu 发表于 2022-5-20 09:21
每月1号,你看这样行不?

condition: template
value_template: {{ (now().strftime("%d") | int) == 20 }}

如果是今天20号是这样吗?但是这样测试的话还是有错误,
template value should be a string for dictionary value @ data['value_template']
但是感觉很接近了,是不是我哪里还没有弄对?
回复

使用道具 举报

32

主题

1065

帖子

4946

积分

论坛元老

Rank: 8Rank: 8

积分
4946
金钱
3866
HASS币
90
发表于 2022-5-20 21:58:09 | 显示全部楼层
本帖最后由 relliky 于 2022-5-20 22:04 编辑
justion 发表于 2022-5-20 19:02
condition: template
value_template: {{ (now().strftime("%d") | int) == 20 }}

说明这个值不是一个string,试试用引号把template值括起来。

看这个语法好像一般都用的双引号
https://www.home-assistant.io/do ... #template-condition


如果要测试template,有专门debug template的工具,在这里
Screenshot 2022-05-20 at 15.01.52.png
我家全屋智能的HA设置 https://github.com/relliky/Tais_Home_Assistant_Config
回复

使用道具 举报

32

主题

285

帖子

1819

积分

金牌会员

Rank: 6Rank: 6

积分
1819
金钱
1534
HASS币
0
 楼主| 发表于 2022-5-21 00:02:48 | 显示全部楼层
relliky 发表于 2022-5-20 21:58
说明这个值不是一个string,试试用引号把template值括起来。

看这个语法好像一般都用的双引号

原来这里还有这么一个好东西,谢谢。
我现在有点怀疑难道是我整体配置的问题?因为我把这个blueprint的内容原封不动拿来用,发现也是进行不下去的。
Monthly backup schedule - Blueprints Exchange - Home Assistant Community (home-assistant.io)
Snipaste_2022-05-20_23-51-26.png
我把{{ now().day == 20 }}测试了下是能正常识别的,但是放到实际条件中测试就是无法通过的。
Snipaste_2022-05-20_23-58-07.png
放到自动化里面测试我试了如下三种写法,第一种是blueprint里的写法,也是不行的。
Snipaste_2022-05-20_23-57-12.png Snipaste_2022-05-20_23-57-46.png Snipaste_2022-05-20_23-57-35.png


原版blueprint都用不了的情况下我真的感觉是不是我的hassos本身有问题。

回复

使用道具 举报

32

主题

1065

帖子

4946

积分

论坛元老

Rank: 8Rank: 8

积分
4946
金钱
3866
HASS币
90
发表于 2022-5-21 04:14:41 | 显示全部楼层
本帖最后由 relliky 于 2022-5-22 01:43 编辑

确实学习这些要蛮长时间的,我也花了很久,慢慢摸索和论坛搜索求助吧。如果能偶尔上英文论坛,上面的资料比中文的多很多的,毕竟是其他所有国家加在一起的人  https://community.home-assistant.io/


原版blueprint都用不了的情况下我真的感觉是不是我的hassos本身有问题。

这次你确实是对的。这个automation 编辑器有问题。

https://community.home-assistant ... e-got-none/419519/3
https://github.com/home-assistant/frontend/issues/12282

勤搜索吧,我也是搜了一下才知道这个问题。

这段时间你可以试试把condition放在action里面,而且你在编辑器写template用法有问题,你应该这样用。

点edit in yaml可以看它的等效源代码
Screenshot 2022-05-20 at 21.41.42.png


justion 发表于 2022-5-21 00:02
原来这里还有这么一个好东西,谢谢。
我现在有点怀疑难道是我整体配置的问题?因为我把这个blueprint的内 ...

最后

英文双引号
value_template: ""

中文双引号
value_template: “”

请复制粘贴上面的英文引号替代你代码里面有可能的中文引号覆盖掉试试。


评分

参与人数 1金钱 +5 收起 理由
justion + 5 回来试了下,可以正常运行,感谢,论坛有你.

查看全部评分

我家全屋智能的HA设置 https://github.com/relliky/Tais_Home_Assistant_Config
回复

使用道具 举报

32

主题

285

帖子

1819

积分

金牌会员

Rank: 6Rank: 6

积分
1819
金钱
1534
HASS币
0
 楼主| 发表于 2022-5-21 20:37:27 来自手机 | 显示全部楼层
relliky 发表于 2022-5-21 04:14
确实学习这些要蛮长时间的,我也花了很久,慢慢摸索和论坛搜索求助吧。如果能偶尔上英文论坛,上面的资料比 ...

太谢谢了,解答了我好多疑问,英文双引号这个应该是没问题的,我反复确认过,明天下了夜班再去试试看,感谢
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 00:37 , Processed in 0.125188 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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