升级了一下,这里面有好多的坑,填都填不过来。后面一个一个的来说。
1.数据库的问题
2.python的问题
昨天上午真真的写了半天的东西的,结果中午吃饭,没了!还是从头来写。
hass的坑还不少。先说说python的问题。
我的hass是在斐讯的盒子上的,用的是T1的盒子,debian10的系统。内核啥的咱也不懂,就是装软件用而已。
原来刷机好了,用的是Debian10自己带的python3.7,装好了hass之后系统的提示是pythin3.7版本低了,需要升级。那就升一下呗。先升级的是python3.9.13。其实并不复杂,就是配置,编译,然后编译安装。这里考虑升级的另外一个原因还有就是需要把小米温湿度计2接入。原来的python3.7,和升级后的python3.9.13都能添加设备的蓝牙MAC号,但就是不能读到数据。查看了一下log是socks的一个属性没有的问题。网上查了资料,主要是python39在编译的时候没有把蓝牙的驱动编译进去。
那没事啊,重新编译一次好了。于是一次,两次,……八次,十次,N次……
这期间怕是蓝牙驱动的问题,还特意搞了一个蓝牙的补丁,用了补丁之后,MAC号就不再是AAAAAAAAA的。
然而,还是扫描不到我的蓝牙温度计!
我开始怀疑人生了!
实在顶不住了,下了一个python3.10.5配置,编译,安装,再看用到的那个ble的集成,好了!
嗯,我跟3.9犯冲。
算了,好了就好!往事不要再提!
这期间hass从原来的2022.5升级到了2022.7。由于sqlite3.27的版本低了,出现了几个问题,recorder集成,log集成,历史集成都不能用了,图表出不来。统计曲线没有了,不漂亮了,不好看了!对sqlite的最低要求是3.31。这你在升级hass的时候根本没有人说啊!
接下来的想法是把数据源从sqlite改到mysql。网上找到了教程,简单,就是在yaml文件里加一个数据源的配置行就可以了。
呵呵,我这个去,又跟我开玩笑了!
我这里改好了配置,试了一下有没有格式错,还真没有。那不是很好,很顺利吗?我就呵呵了。
重启盒子!
隔了好久,hass没有运行,看log,hass2022.7,支持的mysql最低版本是mysql8。
好吧,不是你的错,是我草率了!
开始考虑,升级sqlite还是mysql?
mysql上有我的typecho的网站,要升级风险有点大,不仅是hass的问题,还有typecho的问题,上面有我十年的心血。当然也不都是天天更新的。但一想到十年,我就放弃了。
那就更新sqlite,从3.27……嗯更新到3.39最新版。
不难,下载源码,配置,更新,更新安装,查看版本号,3.39.几。不错,成功了!重启一下吧!
结果,结果,结果,那几个集成没有运行!
再看python下的sqlite3模块版本号,3.27!
纳尼!
百度,结果来了!
升级时会重写头文件,但python的模块不会更新,要对python重编译,配置时要包括sqlite3相关文件的目录。解释的很合理。但是我才升级的pyrhon10呀。没办法,编译对吧,编吧!
两千年以后,我大概编了有八百次!
pthon下的sqlite3模块版本还是3.27,死狗一样赖在那个号上了!
这就不得不考虑另外的一条道路了!
把mysql5.6升级到mysel8.0。
我做了一个艰难的决定,升吧!
由于是装的宝塔面板的应用,看了一下,有一个功能叫切换数据库,能把mysql5.6切换到mysl8.0。
这不错,直接切,不行,说是没有数据库备份,麻溜备一个。等了好久备份出来500多兆。我再切,要删除数据库文件,我删。删完了。再切。
开始安装mysql8。终于可以歇歇了。估计最少要半小时以上。
没一会蹦出提示来了。这么快,效率好高!不对,腚眼一看,需要3.7G以上内存,啥,啥,我这个是盒子,盒子懂吗?总共2G内存。上哪找另外的两个G内存啊!
啊!
绝望了!
这下我的typecho的小网站都没了!
算了,还是先恢复数据,把typecho找回来吧。数据库不能直接恢复,先建一个typecho的数据库。然后在数据库管理面板里恢复数据。这里是将原来的备份导入。
时间不大,恢复数据成功了!
看看typecho能不能运行,打开网页,不行!
数据无法链接,原来的数据库链接文件改个名字,重安装一下typecho。
重命名config.inc.php文件,然后重新打开typecho的主页,填上用户,密码,数据库,等等,提交,嗯,很好,无法连接数据库,好的,太谢谢了!请帮我算一下我的心理阴影面积!
又试了几次,不行,已经记不清当年是如何把这个typecho装上去的了。
额,还好备份的config.inc.php文件还在,理论上来说,只是密码有变化,其他的都没有变,那我把config.inc.php备份文件里密码改一下试试看。
打开文件,这玩意,密码还是明文的。直接改一下。保存,文件名改回原来的config.inc.php,重启一下!
再打开typecho的主页,回来了,真的回来了!这个折腾啊!
可是我的sqlite还是停留在3.27没有进步啊!
进log,复制内容,直接在bing上搜。
有一个英文的结果引起我的注意,大意是用树莓派装的hass,然后也是sqlite版本低,按网上的教程升级sqlite成功,但版本就是变不过来,下面有人回复,树莓派下相关的lib文件位置在/usr/lib/aarch64-linux-gnu/文件夹里,而重新编译pythin的时候路径的设置都是在/usr/lib/local/下。这个问题我怎么可能知道。
cp /usr/lib/aarch64-linux-gnu下相关的文件到/usr/lib/local/下,授权,重启,
进入hass的软件,这次是真的回来了,没有再报错了!
这一路的折腾,在这里感谢前人栽树,感谢有那么多的坑!

Screenshot_2022-08-06-16-07-20-199_io.homeassistant.companion.android.jpg
上个图吧。

Screenshot_2022-08-06-16-07-02-103_io.homeassistant.companion.android.jpg
仅以此文纪念这个热的吓人的夏天!

最后编辑:2022年08月06日 ©著作权归作者所有

发表评论