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

 找回密码
 立即注册
楼主: ggq520770

[技术探讨] home assistant怎么通过GET或POST发送网络给智能主机?

[复制链接]

26

主题

1190

帖子

5382

积分

元老级技术达人

积分
5382
金钱
4167
HASS币
100
发表于 2023-8-10 16:10:03 | 显示全部楼层
如果你已经可以通过访问url直接控制
那就用rest_command就好了呀,rest的本质就是发http请求

为什么还要多此一举的用一个command_line + curl呢?
回复

使用道具 举报

11

主题

100

帖子

467

积分

中级会员

Rank: 3Rank: 3

积分
467
金钱
367
HASS币
0
 楼主| 发表于 2023-8-10 16:33:45 | 显示全部楼层
本帖最后由 ggq520770 于 2023-8-10 16:36 编辑
XCray 发表于 2023-8-10 15:53
一直不太能理解你说的话

外网访问能用192.168.0.200这种地址?

192.168.0.200是内网访问地址,主机支持80端口,所以内网访问可以不填端口号。不必纠结主机受控协议,那是主机固定的协议,因为我已经正常使用至今,哪怕是一个浏览器http都能被正常控制。内网下,tasker或浏览器只要输入这个地址就可以:http://192.168.0.200/uartw.cgi?d ... wd123asadmin:admin=
回复

使用道具 举报

11

主题

100

帖子

467

积分

中级会员

Rank: 3Rank: 3

积分
467
金钱
367
HASS币
0
 楼主| 发表于 2023-8-10 17:02:08 | 显示全部楼层
25989406 发表于 2023-8-10 16:10
如果你已经可以通过访问url直接控制
那就用rest_command就好了呀,rest的本质就是发http请求


能不能给个示例?我添加了几个命令,也包括你说的那个到configuration.yaml,再用yaml编辑,总是提示出错,下面就是协议地址,一个开灯,一个关灯:
http://192.168.0.200/uartw.cgi?d ... wd123asadmin:admin=
http://192.168.0.200/uartw.cgi?d ... wd123asadmin:admin=
回复

使用道具 举报

26

主题

1190

帖子

5382

积分

元老级技术达人

积分
5382
金钱
4167
HASS币
100
发表于 2023-8-10 17:09:46 | 显示全部楼层
https://www.home-assistant.io/integrations/rest_command/ 这里的例子基本够你用了

rest_command:
  shuffle_on:
    url: "http://192.168.0.200/uartw.cgi?data=20170829CC00320001&type=1&pswd123asadmin:admin="
    method: get
  shuffle_off:
    url: "http://192.168.0.200/uartw.cgi?data=20170829CC00320000&type=1&pswd123asadmin:admin="
    method: get


编辑yaml报错的问题 你要自己学习一下yaml的语法
回复

使用道具 举报

11

主题

100

帖子

467

积分

中级会员

Rank: 3Rank: 3

积分
467
金钱
367
HASS币
0
 楼主| 发表于 2023-8-10 21:16:24 | 显示全部楼层
本帖最后由 ggq520770 于 2023-8-10 21:45 编辑

感谢楼上兄弟!按照你说的只执行开灯是不是应该这样编写?但还是报错,删除自带的字符串也不行,不知问题出在哪里?麻烦再帮我看看

                               
登录/注册后可看大图
Screenshot_20230810_210658_Home Assistant.jpg
回复

使用道具 举报

98

主题

2866

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11445
金钱
8514
HASS币
460

教程狂人突出贡献

发表于 2023-8-10 21:50:47 | 显示全部楼层
ggq520770 发表于 2023-8-10 21:16
感谢楼上兄弟!按照你说的只执行开灯是不是应该这样编写?但还是报错,删除自带的字符串也不行,不知问题出 ...

终于弄明白了,看来你真得恶补一下基础知识了 官方文档你显然就没看明白

data: {}后面的内容统统删掉!
回复

使用道具 举报

11

主题

100

帖子

467

积分

中级会员

Rank: 3Rank: 3

积分
467
金钱
367
HASS币
0
 楼主| 发表于 2023-8-10 22:15:30 | 显示全部楼层
XCray 发表于 2023-8-10 21:50
终于弄明白了,看来你真得恶补一下基础知识了 官方文档你显然就没看明白

data: {}后面的内容统统删掉 ...

刚接触HA,确实没看官方文档。本以为很简单能实现,没想到那么复杂。不过你说的data后面的统统删掉我不太明白,删掉了我还能执行什么内容呢
回复

使用道具 举报

11

主题

100

帖子

467

积分

中级会员

Rank: 3Rank: 3

积分
467
金钱
367
HASS币
0
 楼主| 发表于 2023-8-10 22:17:39 | 显示全部楼层
XCray 发表于 2023-8-10 21:50
终于弄明白了,看来你真得恶补一下基础知识了 官方文档你显然就没看明白

data: {}后面的内容统统删掉 ...

您就帮我看看上面截图部分应该怎么编辑吧,谢谢啦,实在是累了
回复

使用道具 举报

1

主题

9

帖子

187

积分

注册会员

Rank: 2

积分
187
金钱
178
HASS币
0
发表于 2023-8-10 23:22:42 | 显示全部楼层
ggq520770 发表于 2023-8-10 22:17
您就帮我看看上面截图部分应该怎么编辑吧,谢谢啦,实在是累了

Snipaste_2023-08-10_23-21-29.png
这样改就行了,rest_command.wechatcompanyapi这个值换成你自己的
回复

使用道具 举报

14

主题

172

帖子

1185

积分

金牌会员

Rank: 6Rank: 6

积分
1185
金钱
1013
HASS币
10
发表于 2023-8-11 00:48:44 | 显示全部楼层
node-red实现简单一点,当然mqtt也是可以。
说到底,你的需求是post,需要提交参数,也需要返回值。定义一个rest,调用服务Home Assistant Core Integration: Update entity,再选择他本事即可。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-28 13:27 , Processed in 0.215542 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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