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

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

[基础教程] 关于贝壳家APP保活

[复制链接]

19

主题

166

帖子

1678

积分

论坛技术达人

积分
1678
金钱
1497
HASS币
40
发表于 2019-11-12 15:26:45 | 显示全部楼层 |阅读模式
本帖最后由 yunsean 于 2021-3-10 09:05 编辑

ic_launcher.png

iHass历次更新:
1.0.0   基于HA的Android客户端APP
1.0.10 Hass APP v1.0.10发布 - 位置上报
1.0.12 iHass App v1.0.12发布 - 场景触发
1.0.15 iiHass APP v1.0.15发布 - 状态通知1.0.17 iHass APP v1.0.17发布 - 公网穿透
2.0.1 iHass App v2.0.1发布 - 语音助手
2.1.0 iHass App v2.1.0发布 - 自动化编辑
1

从2018年5月开始开发iHass,直到现在的贝壳家v2.1.5,已经一年半了,但受限于移动平台的电量消耗,杀进程是众多后台服务程序员的噩梦,贝壳家在下列场景需要后台通讯:

1、地理位置上报,贝壳家设置的180s进行一次地理定位请求并进行上报,采用的时Alarm的方式来唤醒上报,在绝大部分手机上,在亮屏的情况下,没有问题,而在绝大部分手机上,在熄屏大约5min后,android系统将进入doze模式,停止上报;

2、状态通知:当home assistant的状态发生变化时,贝壳家在接收到变化(包含长连接和亮屏时主动拉取hass所有实体状态两种触发点)时,可以按照设定进行通知提醒;

3、语音控制:当设置了语音唤醒后,接收到“贝壳贝壳”或者“你好贝壳”的唤醒词后,将进入语音控制状态;

4、情景触发:支持地理位置触发、NFC触发、蓝牙触发、wifi触发,都需要后台进程进行扫描和感知;

5、桌面组件刷新:需要后台进程获取home assistant的更新信息然后刷新桌面小组件;

6、通知栏组件维持:当后台进程退出后,通知栏组件也将消失。

针对这些,这一年多时间一直在时断时续的和杀进程做斗争,目前,维持贝壳家活着的方案有如下,供各位看官选用:

1、添加到进程白名单,大部分手机都可以通过进入多任务界面后下拉贝壳家将其添加到白名单,从而躲避手动清理内存时被kill;

2、添加到受保护进程,一般可以通过各手机的手机管家、各种安全管理之类的系统自带软件将贝壳家加入到保护列表,尽可能避免被系统清理干掉;

3、添加到忽略电池优化(部分机型慎用,比如联想,会很费电),忽略电池优化后,部分手机能够保证在锁屏状态下放置贝壳家进入doze模式,并且每3分钟被唤醒一次,基本不会被杀掉了,但绝大部分机型设置了也是百搭;

4、添加通知栏组件,让贝壳家的后台进程变成前台服务,提高优先级,被kill的几率会小很多,并且基本没有电量副作用;

5、添加桌面小组件,和上一条一样的,会好一丢丢;

6、今天增加的功能:让贝壳家模拟你常用的第三方应用(比如淘宝、抖呀抖)创建桌面图标,然后把这些应用原本的图标藏起来,后续都通过点击模拟的桌面图标来启动第三方应用,会同时拉起贝壳家的后台服务,这个应该比较下下策,但也比较狠,哼。


另外,额外发布两个APK:

第一个是专门的后台上报地理位置服务:位置上报 (http://www.pgyer.com/hass2

它可以上报到gpslogger集成,也可以上报到附件的ihasslogger组件

上报到ihasslogger组件可以同时上报是否充电、是否亮屏、前台应用(可开关)、电量信息

另外ihasslogger可以通过tts组件播报实体的当前位置。 ihasslogger.zip (4.53 KB, 下载次数: 23)


第二个是一个辅助APP:服务拉起(http://www.pgyer.com/hass3

这个APP实现了和上述保活中提到的第六中保活方式相同的功能,不同的是从贝壳家中剥离了出来,因此你也可以用这个小工具去拉起你其他需要后台保活的服务,如果不知道怎么玩儿,就进群吧!


                               
登录/注册后可看大图



回复

使用道具 举报

9

主题

198

帖子

1084

积分

金牌会员

Rank: 6Rank: 6

积分
1084
金钱
886
HASS币
0
发表于 2019-11-12 17:51:55 | 显示全部楼层
前排就坐,顶起!吾等菜鸟向大神学习!
回复

使用道具 举报

17

主题

800

帖子

5740

积分

论坛元老

Rank: 8Rank: 8

积分
5740
金钱
4935
HASS币
0
发表于 2019-11-12 22:48:26 | 显示全部楼层
感谢分享。
不过现在上海那边电信在封有DDNS+有WEB服务的宽带。。HA现在都不敢暴露出来了。。
回复

使用道具 举报

2

主题

194

帖子

2882

积分

金牌会员

Rank: 6Rank: 6

积分
2882
金钱
2688
HASS币
0
发表于 2019-11-13 09:54:04 | 显示全部楼层
这个APP一直都不知道怎么用
哪里有详细的教程可以借鉴下
回复

使用道具 举报

19

主题

166

帖子

1678

积分

论坛技术达人

积分
1678
金钱
1497
HASS币
40
 楼主| 发表于 2019-11-13 09:55:35 | 显示全部楼层
wfc1986 发表于 2019-11-13 09:54
这个APP一直都不知道怎么用
哪里有详细的教程可以借鉴下

前面有好几篇介绍,你可以搜索一下我的帖子,或者进群。
回复

使用道具 举报

19

主题

166

帖子

1678

积分

论坛技术达人

积分
1678
金钱
1497
HASS币
40
 楼主| 发表于 2019-11-13 09:57:20 | 显示全部楼层
sirakawa 发表于 2019-11-12 22:48
感谢分享。
不过现在上海那边电信在封有DDNS+有WEB服务的宽带。。HA现在都不敢暴露出来了。。 ...

为啥要封这个呢,不行就走内网穿透吧,有公网服务器搞一个ngrok即可。
回复

使用道具 举报

17

主题

800

帖子

5740

积分

论坛元老

Rank: 8Rank: 8

积分
5740
金钱
4935
HASS币
0
发表于 2019-11-14 20:21:09 | 显示全部楼层
yunsean 发表于 2019-11-13 09:57
为啥要封这个呢,不行就走内网穿透吧,有公网服务器搞一个ngrok即可。

不知道为啥~
ha少量数据内网穿透确实可以。
大量数据传输就还是连家里梯子了。
回复

使用道具 举报

0

主题

12

帖子

57

积分

注册会员

Rank: 2

积分
57
金钱
45
HASS币
0
发表于 2021-11-6 12:04:50 来自手机 | 显示全部楼层
谢谢楼主
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 17:44 , Processed in 0.056175 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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