al-one / hass-xiaomi-miot

Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices. 小米米家智能家居设备接入Hass集成
https://miot-spec.com
Apache License 2.0
4.54k stars 641 forks source link

小米智能开关零火版不能添加到“能源” #967

Closed Ryan1202 closed 1 year ago

Ryan1202 commented 1 year ago

Device model / 设备型号

lumi.switch.acn016 lumi.switch.acn017 lumi.switch.acn018

Component version / 插件版本

0.7.4

HA core version / HA版本

2022.12.8

Integrated mode / 集成方式

Automatic (自动模式)

The problem / 问题详情

小米智能开关零火版在状态里可以看到有power consumption,但是“能源”可以添加的设备里没有,顺带一提这个单位应该是kWh

Entity attributes / 实体属性

entity_class: MiotSensorSubEntity
parent_entity_id: switch.lumi_acn016_42c5_switch
service_description: Power Consumption
property_description: Power Consumption
updated_time: 2022-12-26T23:00:02.556572+08:00
power_consumption: 0.486
unit_of_measurement: Wh
friendly_name: Xiaomi Smart Wall Switch (1 Gang, Neutral Wire) Power Consumption
supported_features: 0

Home Assistant Logs / 系统日志

No response

al-one commented 1 year ago

lumi.switch.acn016 power consumption

power_consumption在miot规格中的属性未定义单位,且未描述计量的时间范围。如果是历史所有的合计,可以尝试自定义实体

# customize.yaml
sensor.lumi_acn016_42c5_power_consumption:
  state_class: total
  device_class: energy
  unit_of_measurement: kWh
Ryan1202 commented 1 year ago

这种方法一开始有效,但当我尝试自定义多个实体后就出错了

实体不可用
以下实体的当前状态为“不可用”:
sensor.zimi_zncz01_d0fe_power_cost_today (unavailable)
sensor.zimi_zncz01_f055_power_cost_today (unavailable)
sensor.zimi_zncz01_ee83_power_cost_today (unavailable)
sensor.zimi_zncz01_cce7_power_cost_today (unavailable)
sensor.zimi_zncz01_bf9c_power_cost_today (unavailable)
sensor.zimi_zncz01_c6e0_power_cost_today (unavailable)
sensor.zimi_zncz01_d808_power_cost_today (unavailable)
sensor.zimi_zncz01_ccec_power_cost_today (unavailable)
sensor.zimi_zncz01_cc27_power_cost_today (unavailable)
sensor.zimi_zncz01_df8e_power_cost_today (unavailable)
sensor.zimi_zncz01_ddcf_power_cost_today (unavailable)
sensor.zimi_zncz01_b2c5_power_cost_today (unavailable)
sensor.zimi_zncz01_ca3d_power_cost_today (unavailable)
sensor.zimi_zncz01_cebb_power_cost_today (unavailable)
sensor.zimi_zncz01_d827_power_cost_today (unavailable)
sensor.zimi_zncz01_f1ed_power_cost_today (unavailable)
sensor.zimi_zncz01_b3ec_power_cost_today (unavailable)
sensor.zimi_zncz01_d44c_power_cost_today (unavailable)
sensor.zimi_zncz01_ca34_power_cost_today (unavailable)
sensor.lumi_acn016_42c5_power_consumption (unavailable)
statistics_not_defined
sensor.lumi_acn016_42c5_power_consumption

并且当我删到只剩一开始那一个自定义实体时还是这样

al-one commented 1 year ago

检查日志

Ryan1202 commented 1 year ago

我从日志里好像没看出什么有用的信息

2022-12-28 11:04:09.158 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-12-28 11:04:09.159 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration xiaomi_miot which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-12-28 11:04:19.021 ERROR (MainThread) [custom_components.xiaomi_miot.humidifier] 除湿机(dmaker.derh.22l): Got MiioException while fetching the state: Unable to discover the device 192.168.31.37, mapping: {'dehumidifier.on': {'siid': 2, 'piid': 1}, 'dehumidifier.fault': {'siid': 2, 'piid': 2}, 'dehumidifier.mode': {'siid': 2, 'piid': 3}, 'dehumidifier.target_humidity': {'siid': 2, 'piid': 5}, 'dm_service.off_delay_time': {'siid': 7, 'piid': 1}, 'dm_service.dry_after_off': {'siid': 7, 'piid': 2}, 'dm_service.dry_left_time': {'siid': 7, 'piid': 3}, 'dm_service.is_warming_up': {'siid': 7, 'piid': 4}, 'physical_controls_locked': {'siid': 6, 'piid': 1}, 'indicator_light.on': {'siid': 5, 'piid': 1}, 'indicator_light.mode': {'siid': 5, 'piid': 2}, 'alarm': {'siid': 4, 'piid': 1}, 'environment.relative_humidity': {'siid': 3, 'piid': 1}, 'environment.temperature': {'siid': 3, 'piid': 2}}, max_properties: 7/14
2022-12-28 11:04:19.110 ERROR (MainThread) [custom_components.xiaomi_miot.light] Mi LED Desk Lamp(yeelink.light.lamp1): Got MiioException while fetching the state: Unable to discover the device 192.168.31.231, mapping: {'light.on': {'siid': 2, 'piid': 1}, 'light.brightness': {'siid': 2, 'piid': 2}, 'light.color_temperature': {'siid': 2, 'piid': 3}, 'light.mode': {'siid': 2, 'piid': 4}, 'adjust_brightness-3-1': {'siid': 3, 'piid': 1}, 'light_extension.ct_delta': {'siid': 3, 'piid': 2}, 'light_extension.ct_adjust_alexa': {'siid': 3, 'piid': 3}}, max_properties: 10/7
2022-12-28 11:04:23.565 WARNING (MainThread) [homeassistant.components.media_player] Setup of media_player platform xiaomi_miot is taking over 10 seconds.
2022-12-28 11:04:24.075 WARNING (SyncWorker_21) [custom_components.xiaomi_miot.media_player] 客厅的小米电视(xiaomi.tv.4kh1): Request mitv api error: HTTPConnectionPool(host='192.168.31.6', port=6095): Max retries exceeded with url: /controller?action=capturescreen&compressrate=50&timestamp=1672225459071&opaque=300803217240d4900ca96cefe03df1c6e61e9091 (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f829cac63b0>, 'Connection to 192.168.31.6 timed out. (connect timeout=5)'))
2022-12-28 11:04:24.095 WARNING (SyncWorker_13) [custom_components.xiaomi_miot.media_player] 迷路的鹿的电视(xiaomi.tv.fsprov1): Request mitv api error: HTTPConnectionPool(host='192.168.31.219', port=6095): Max retries exceeded with url: /controller?action=capturescreen&compressrate=50&timestamp=1672225459094&opaque=2062e8fb78e5939f335a05f3f51ac33ff33b02ba (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f829c89ead0>, 'Connection to 192.168.31.219 timed out. (connect timeout=5)'))
2022-12-28 11:04:48.619 ERROR (MainThread) [custom_components.xiaomi_miot.sensor] 电磁炉(chunmi.ihcooker.v1): Got MiioException while fetching the state: Unable to discover the device 192.168.31.189, mapping: {'induction_cooker.status': {'siid': 2, 'piid': 1}, 'induction_cooker.left_time': {'siid': 2, 'piid': 2}, 'induction_cooker.heat_level': {'siid': 2, 'piid': 3}, 'induction_cooker.working_time': {'siid': 2, 'piid': 4}}, max_properties: 10/4
2022-12-28 11:04:50.851 ERROR (MainThread) [custom_components.xiaomi_miot.light] Mi LED Desk Lamp(yeelink.light.lamp1): Got MiioException while fetching the state: Unable to discover the device 192.168.31.231, mapping: {'light.on': {'siid': 2, 'piid': 1}, 'light.brightness': {'siid': 2, 'piid': 2}, 'light.color_temperature': {'siid': 2, 'piid': 3}, 'light.mode': {'siid': 2, 'piid': 4}, 'adjust_brightness-3-1': {'siid': 3, 'piid': 1}, 'light_extension.ct_delta': {'siid': 3, 'piid': 2}, 'light_extension.ct_adjust_alexa': {'siid': 3, 'piid': 3}}, max_properties: 10/7
2022-12-28 11:04:55.430 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.xiaomi_4kh1_e59a_play_control is taking over 10 seconds
2022-12-28 11:04:55.431 WARNING (MainThread) [homeassistant.helpers.entity] Update of media_player.xiaomi_fsprov1_6f92_play_control is taking over 10 seconds
Ryan1202 commented 1 year ago

解决了,我发现state_class应该是total_increasing

al-one commented 1 year ago