mobster 发表于 2022-5-3 21:17:18

再玩小米魔方,还能学到更丰富的nodered知识

本帖最后由 mobster 于 2022-5-3 21:21 编辑


## 背景
上一次玩智能家居竟然快4年前了,忙于工作,很少再花时间折腾HA,虽然一直在折腾nodered但实际上和智能家居沾边的不算太多。这次假期在家发现之前的小米魔方电池没电了,迅速买新电池装上,看了L大的教程([【node-red】小米魔方【控制PC音量】【下一曲】【金斧头】](https://bbs.hassbian.com/thread-4693-1-1.html)),又决定把之前刚入门时用HA源生方案写过的东西([小米魔方的功能挖掘,包括多设备切换,魔方控制激活等](https://bbs.hassbian.com/thread-4624-1-1.html) )用node-red重写一遍,回到论坛把写过的一些经验分享出来。

## 填坑
上来手贱,各种一顿升级,把core版本从2021.9.x升级到当前最新2022.4.7。发现各种不工作了(HACS异常、小爱同学TTS异常)。
解决方案:
1.HACS全删了重装,解决;
2.TTS各种尝试修复,无解(之前用的 (https://bbs.hassbian.com/thread-12320-1-1.html) );
3.最后换用了 (https://github.com/al-one/hass-xiaomi-miot),很快啊,小爱同学熟悉的声音回来了;

## 核心需求
1. 利用魔方常见的操作(摇一摇、旋转、敲两下),魔方相比更常见的按钮操作,多一个很特别的旋转,那么多利用旋转实现诸如灯光亮度控制、风扇转速等;
2. 一个魔方当然要更多操作常见设备,通过摇一摇实现;
3. 通过旋转实现数据精度控制;
4. 尽可能考虑误操作的实际场景;
4. 鉴于我手上的设备,选用yeelight吸顶灯、小米风扇、pc音量作为练手;

## 基于nodered的解决方案及特点
1. 尽量保证代码流程易读、易用、易调整的特性;
2. 用了一部分nodered的特性,如flow流程级变量、小爱同学TTS的"子流程"封装;
3. 代码的基础部分参考了L大之前的例子,尽量使用了自带的字符串组件来操作流程(平时更习惯用function写,因为更灵活);


##案例最终效果

### 魔方激活

1. 首次摇一摇激活魔方控制,TTS语音通知;
2. 在激活状态下,再次摇一摇,切换设备,并TTS语音通知;

### 魔方休眠

1. 魔方在激活状态下,2分钟内魔方无任何操作时,魔方进入休眠(即除了摇一摇之外的动作不再响应),并TTS语音通知;
2. 魔方在激活状态下,使用“自由落体”操作时,魔方直接进入休眠,并TTS语音通知;

### 激活yeelight吸顶灯控制(最普通的第一代)

1. 旋转调整灯光亮度(右旋+亮度、左旋减亮度);
2. 90度翻转调整灯光色温(设定5500k、4500k、3500k、2500k依次循环,由白到黄);
3. 敲击两次吸顶灯进入月亮模式,再次敲击回到正常模式;
4. 开关灯?忘写了(我这没需求,家人每次都直接物理开关关闭。。);

### 激活PC音量控制(windows)

1. 参考了L大的例子,L大貌似用的QQ音乐的api,我个人不用QQ音乐,所以百度找了个第三方个人作者的小软件,后来发现稳定性非常差,哪天实在想用这个功能的话准备自己再写个。。)
2. 旋转调整PC音量(http-get请求实现),右旋加音量,左旋减音量;
3. 敲击两次静音;
4. 将软件配置为开机启动(稳定性太差,基本启动不到1分钟就自动异常闪退,windows计划任务+延迟启动也一样,windows日志可查);



### 激活小米风扇控制(米家直流变频落地扇:zhimi.fan.sa1)

1. 旋转调整风扇速度(右旋+1档、左旋-1档),TTS语音提示;
2. 90度翻转调整风扇模式(直吹风和自然风切换),TTS语音提示;
3. 敲击两次作为风扇开关切换,TTS语音提示;

## 写在最后
魔方实用性见仁见智,其实更像一个玩具,能用,但更多属于趣味性,我觉得很难替代专用遥控器等设备来直接操作(延时、精度、误差等)。我家的魔方归宿已经变成小孩的科技玩具,用魔方控制多个设备,娱乐为主切勿当真,在实践中体验node-red可能更有实际意义。


**** Hidden Message *****






lcchen123 发表于 2022-5-4 13:45:01

学习了不少东西

王小青 发表于 2022-5-4 16:41:23

学习学习

perrylin0421 发表于 2022-5-4 17:59:52

感謝樓主分享

damp521 发表于 2022-5-5 08:42:30

厉害,绿米魔方应该是通用的吧

xlwjh 发表于 2022-5-6 11:33:18

学习一下

chiyudexiong 发表于 2022-5-6 13:28:43

:lol,学习

dengxiao 发表于 2022-5-6 17:37:35

高端,先学习学习

book123 发表于 2022-5-6 19:11:20

水平太高了!学习学习!

Hass4380 发表于 2022-5-6 23:37:09

厉害,新手膜拜大佬
页: [1] 2 3 4 5 6 7
查看完整版本: 再玩小米魔方,还能学到更丰富的nodered知识