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

 找回密码
 立即注册
查看: 1750|回复: 7

[进阶教程] 360T7路由器温度CPU接入hass

[复制链接]

37

主题

402

帖子

4122

积分

元老级技术达人

积分
4122
金钱
3665
HASS币
250
发表于 2023-3-30 17:36:04 | 显示全部楼层 |阅读模式
咸鱼上淘了个360T7路由器,wifi6 3000M.,,,按照这个帖子原理,你可以把openwrt的想要的信息都接入过来,依葫芦画瓢就行了。
到手刷了openwrt的固件,怎么刷固件就不说了,反正恩山上大把帖子。
然后就是怎么把数据接入到hass了。
灵感来源于https://bbs.hassbian.com/thread-3517-1-1.html囧大的这个帖子,不过囧大的这个帖子有个麻烦点,需要创建一个input_number:中转一下麻烦。
于是自己研究了一下
创建了一个shell脚本,如下内容将脚本里面的ip换成自己的hass服务器的ip run.sh (626 Bytes, 下载次数: 10)
#!/bin/sh

temp_cpu=$(cat /sys/devices/virtual/thermal/thermal_zone0/temp | awk '{print $1/1000}')
temp_24g=$(iwpriv ra0 stat |grep CurrentTemperature | sed -e 's/[^0-9]//g' | tr -d "\n")
temp_5g=$(iwpriv rai0 stat |grep CurrentTemperature | sed -e 's/[^0-9]//g' | tr -d "\n")
cpuload_1m=$( cat /proc/loadavg | awk '{print $1}' | sed 's/,//')


post_data="{"temp_cpu":$temp_cpu, "temp_24g":$temp_24g, "temp_5g":$temp_5g, "cpuload_1m":$cpuload_1m}"
#echo $post_dataecho $post_data
curl --header "Content-Type: application/json" --request POST --data "$post_data" http://10.18.20.136:7123/api/webhook/openwrt-webhook-id


上传到路由器的/root目录下
然后再计划任务里面添加一个任务
* * * * * /root/run.sh

在hass里面添加配置 openwrt_temp.yaml (583 Bytes, 下载次数: 16)
template:
  - trigger:
      - platform: webhook
        webhook_id: openwrt-webhook-id
    sensor:
       - name: "openwrt Temperature_CPU"
         state: "{{ trigger.json.temp_cpu }}"
         unit_of_measurement: °C
  
       - name: "openwrt Temperature_24G"
         state: "{{ trigger.json.temp_24g }}"
         unit_of_measurement: °C

       - name: "openwrt Temperature_5G"
         state: "{{ trigger.json.temp_5g }}"
         unit_of_measurement: °C

       - name: "openwrt cpuload_1m"
         state: "{{ trigger.json.cpuload_1m }}"
         unit_of_measurement: avg
重启模板实体,等1分钟就能看到数据了
XY$U@{D[}`J(]DU{B_K9H_I.png


这里要特别安利一下新bing,可以按照你的要求帮你写命令,就问你强不强。
SSK(6CS$B{ACZ8BJN_0I57B.png

评分

参与人数 1金钱 +1 收起 理由
farmers + 1 感谢楼主分享!

查看全部评分

回复

使用道具 举报

23

主题

100

帖子

444

积分

中级会员

Rank: 3Rank: 3

积分
444
金钱
344
HASS币
0
发表于 2023-4-6 12:42:05 | 显示全部楼层


新手小白还不找到桌面用这些代码…………openwrt_temp.yaml 这个玩意儿丢哪里用的?
回复

使用道具 举报

0

主题

38

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
金钱
230
HASS币
0
发表于 2023-4-11 18:00:55 | 显示全部楼层
楼主你好,我的openwrt,无法访问 "IP:7123/api/webhook/openwrt-webhook-id"
使用chatgpt搜索后,

                               
登录/注册后可看大图


                               
登录/注册后可看大图

发现需要打开OpenWrt中的Webhook API。但是按照其操作 没有找到 luci-app-webhook这个包
请教下楼主 有没有安装Webhook API的方法,还是因为op固件差异的原因(导致无法安装?)
回复

使用道具 举报

37

主题

402

帖子

4122

积分

元老级技术达人

积分
4122
金钱
3665
HASS币
250
 楼主| 发表于 2023-4-13 12:55:46 | 显示全部楼层
unixcs 发表于 2023-4-11 18:00
楼主你好,我的openwrt,无法访问 "IP:7123/api/webhook/openwrt-webhook-id"
使用chatgpt搜索后,

这个是往hass推数据的,你要填你自己的hass的ip和端口。最后openwrt-webhook-id这个是我发的template里面的哪个webhook_id的那个字段
回复

使用道具 举报

0

主题

38

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
金钱
230
HASS币
0
发表于 2023-4-14 00:41:05 | 显示全部楼层
trz0332 发表于 2023-4-13 12:55
这个是往hass推数据的,你要填你自己的hass的ip和端口。最后openwrt-webhook-id这个是我发的template里面 ...

感谢指正,原来是我理解错了
回复

使用道具 举报

0

主题

38

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
金钱
230
HASS币
0
发表于 2023-5-16 22:27:06 | 显示全部楼层
本帖最后由 unixcs 于 2023-5-17 15:50 编辑

楼主我在使用你的shell脚本时,homeassistan接收json数据报错,
查看日志后发现。shell脚本post发送的json数据中 属性名称 未加使用双引号

尝试修改后
post代码:
完整代码:
如下



微信截图_20230517154740.png
微信截图_20230517154804.png
回复

使用道具 举报

0

主题

38

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
金钱
230
HASS币
0
发表于 2023-5-16 22:29:23 | 显示全部楼层
本帖最后由 unixcs 于 2023-5-16 22:31 编辑

123123
回复

使用道具 举报

6

主题

30

帖子

722

积分

高级会员

Rank: 4

积分
722
金钱
692
HASS币
0
发表于 2023-11-3 13:05:41 | 显示全部楼层
折腾半天发现openwrt没发送数据过来 最后才发现原来是* * * * * /root/run.sh 没有权限
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-7 02:26 , Processed in 0.179803 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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