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

 找回密码
 立即注册
查看: 1097|回复: 8

[已解决] HA里有没有办法实现网页自动刷新?

[复制链接]

5

主题

87

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
金钱
346
HASS币
0
发表于 2024-3-27 00:54:16 | 显示全部楼层 |阅读模式
本帖最后由 1252 于 2024-4-20 23:53 编辑

RT

搞了个ESP32-CAM玩,用ESPHOME刷了固件之后发现能用挺好玩,但是实时观察的话对带宽要求忒大,同样的带宽下如果5-10秒一个截图的话能用高不少的分辨率——但是问题就在于,这个截屏是每刷新一次才会更新一次,如果直接用网页框架调用的话你除非手动刷新,否则一直都是你刷新时的那一帧画面了。

所以有没有什么办法可以实现网页的自动刷新呢?

(类似的需求也可以用在windy.com提供的天气信息上,那个也不会自动刷新只能手动刷新,很不爽
回复

使用道具 举报

25

主题

224

帖子

1034

积分

金牌会员

007潜水了

Rank: 6Rank: 6

积分
1034
金钱
810
HASS币
0
发表于 2024-3-27 09:31:52 | 显示全部楼层
为啥不直接在esphome camera降低帧率

max_framerate (Optional, float): The maximum framerate the camera will generate images at. Up to 60Hz is possible (with reduced frame sizes), but beware of overheating. Defaults to 10 fps.
回复

使用道具 举报

18

主题

218

帖子

1836

积分

论坛技术达人

积分
1836
金钱
1618
HASS币
10
发表于 2024-3-27 11:27:27 | 显示全部楼层
没有看懂这个网页框架用来干嘛。 但是刷新的话。用油猴写个脚本就行
回复

使用道具 举报

5

主题

87

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
金钱
346
HASS币
0
 楼主| 发表于 2024-3-27 12:03:49 | 显示全部楼层
lhy741059930 发表于 2024-3-27 11:27
没有看懂这个网页框架用来干嘛。 但是刷新的话。用油猴写个脚本就行

那……在哪里能找到类似的脚本呢
回复

使用道具 举报

5

主题

87

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
金钱
346
HASS币
0
 楼主| 发表于 2024-3-27 12:05:06 | 显示全部楼层
demacia 发表于 2024-3-27 09:31
为啥不直接在esphome camera降低帧率

max_framerate (Optional, float): The maximum framerate the camer ...

对视频来说当然可以,但是像windy天气那样的是只能靠刷新的
回复

使用道具 举报

18

主题

218

帖子

1836

积分

论坛技术达人

积分
1836
金钱
1618
HASS币
10
发表于 2024-3-27 12:09:36 | 显示全部楼层
1252 发表于 2024-3-27 12:03
那……在哪里能找到类似的脚本呢

油猴的教程晚上有很多的。百度一下就行。至于自动刷新或者定时刷新可能要自己写个js
回复

使用道具 举报

5

主题

87

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
金钱
346
HASS币
0
 楼主| 发表于 2024-3-27 12:20:03 | 显示全部楼层
lhy741059930 发表于 2024-3-27 12:09
油猴的教程晚上有很多的。百度一下就行。至于自动刷新或者定时刷新可能要自己写个js ...

大概搜了一下,发现这个油猴只能是运行在浏览器端?那如果用这种方法的话,是不是换一个浏览器就失效了?
回复

使用道具 举报

5

主题

87

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
金钱
346
HASS币
0
 楼主| 发表于 2024-4-20 23:53:26 | 显示全部楼层
研究了好几天,搞定了这个问题,就是可以使用HTML里的iframe框架来解决。

具体来说就是先写个自动刷新的HTML,然后在这个HTML里用iframe来内嵌需要刷新的网站就可以了。

比如下面这个就是一个每10秒自动刷新的页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="refresh" content="10">
    <title>自动刷新页面</title>
</head>
<body>
    <iframe src="https://embed.windy.com/embed2.html?lat=48.864&lon=135.542" frameborder="0"></iframe>
</body>
</html>


回复

使用道具 举报

25

主题

224

帖子

1034

积分

金牌会员

007潜水了

Rank: 6Rank: 6

积分
1034
金钱
810
HASS币
0
发表于 2024-4-21 01:22:16 | 显示全部楼层
1252 发表于 2024-4-20 23:53
研究了好几天,搞定了这个问题,就是可以使用HTML里的iframe框架来解决。

具体来说就是先写个自动刷新的HT ...

esp32cam支持idle帧率设定,配合mqtt接入(非api)可以自定义实现接入ha的camera实体是10s一帧的效果。
也不需要设置esp32cam webserver。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-24 03:01 , Processed in 0.298270 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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