home assistant 获取 米家智能 和 米家通知 数据
更新
今天我更新了一下Xiaomi Miot Auto
发现多了一个可选项,
禁用米家APP通知消息实体
这个虚拟传感器以前就有 但我没有使用过禁用米家场景历史实体
这个是新增加的 正好两个一起研究一下
v0.7.14 的更新,add scene history sensor (#1361)
https://github.com/al-one/hass-xiaomi-miot/releases/tag/v0.7.14
打印一下传感器信息:
sensor.mi_345123456_message
Array (
[entity_id] => sensor.mi_345123456_message
[state] => 摄像机: 用户345123456于23:42在带屏音箱上观看摄像机 储藏室直播视频.
[attributes] => Array
(
[entity_class] => MihomeMessageSensor
[filter_homes] => Array
(
)
[exclude_types] => Array
(
[0] => 13
)
[msg_id] => 17344867324567850112
[is_new] => 1
[type] => 6
[title] => 用户345123456于23:42在带屏音箱上观看摄像机直播视频.
[content] => 摄像机
[user_id] => 345123456
[ctime] => 1703173364
[timestamp] => 2023-12-21T15:42:44+00:00
[model] => isa.camera.hlc6
[device_id] => 345123456
[home_name] => 大楼
[room_name] => 一楼
[event] => stream
[event_data] =>
[prev_message] => 小米智能摄像机: 用户345123456于23:09在带屏音箱上观看小米智能摄像机直播视频.
[icon] => mdi:message
[friendly_name] => Xiaomi 345123456 message
)
[last_changed] => 2023-12-21 23:42:56
[last_updated] => 2023-12-21 23:42:56
[context] => Array
(
[id] => 01HJ6ASDFARTEGWT083FPEH
[parent_id] =>
[user_id] =>
)
)
sensor.mi_666666666_66660166660575_scene_history
Array (
[entity_id] => sensor.mi_345123456_884885886887_scene_history
[state] => 旅行
[attributes] => Array
(
[entity_class] => MihomeSceneHistorySensor
[from] => user
[name] => 旅行
[ts] => 1703173662
[timestamp] => 2023-12-21T15:47:42+00:00
[scene_id] => 1731231401335251234
[targets] => Array
(
[0] => Array
(
[at] => phone
[error] => 0
[note] =>
[origCode] => 0
[origErr] =>
[t] => 1
)
)
[prev_value] => 有人移动-米家智能充电台灯开灯并设置灯光
[prev_scene_id] => 1721231066712417412
[icon] => mdi:message
[friendly_name] => Xiaomi 345123456_884885886887 Scene History
)
[last_changed] => 2023-12-21 23:47:57
[last_updated] => 2023-12-21 23:47:57
[context] => Array
(
[id] => 01HJ6XXXXXXXXXXJQKQM2DFM5Q
[parent_id] =>
[user_id] =>
)
)
作用
一个是记录米家的通知消息,一个是记录米家的场景消息,通过这两个虚拟传感器,就可以捕捉到米家智能化都做了些什么。但home assistant是通过轮询来工作的,所以消息不是实时的。
但是不管怎么说,这都为米家 & home assistant 通讯提供了另一条途径。
问题
- 这两个传感器都只保留最后两条消息,(当然可以通过读取日志获取更多的历史消息)
- 读取的消息不是实时的,轮训的周期应该是30秒,当然可以自定义
- 每次读取最后一条消息,如果瞬间触发了5个场景事件,生成5条消息,那么除了最后一条,其余4条就都被MISS了,
使用
未完....