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.5k stars 636 forks source link

Mi Smart Led reacts to changes really slowly. #1020

Open woci opened 1 year ago

woci commented 1 year ago

Device model / 设备型号

yeelink.light.ceiling22

Component version / 插件版本

0.7.5

HA core version / HA版本

2023.1.7

Integrated mode / 集成方式

Local (本地模式)

The problem / 问题详情

After interval_seconds is set to 1 second the state change method is still slow. The trigger is called only after 1 sec, due to this, the light is in the previous state, but the wall switch/button on the screen has already been pressed. Would it be possible to go under 1 sec and give the value in milliseconds?

Entity attributes / 实体属性

min_color_temp_kelvin: 2597 max_color_temp_kelvin: 6097 min_mireds: 164 max_mireds: 385 effect_list: Day, Night supported_color_modes: brightness, color_temp, onoff model: yeelink.light.ceiling22 lan_ip: 192.168.50.134 entity_class: MiotLightEntity miot_type: urn:miot-spec-v2:device:light:0000A001:yeelink-ceiling22:1 light.on: false light.brightness: 1 light.color_temperature: 2700 light.mode: 2 light.flex_switch: true light.off_delay_time: 0 state_updater: lan sub_entities: light-2.off_delay_time-102 friendly_name: Mi Smart LED Ceiling Light Light supported_features: 39 interval_seconds: 1

Home Assistant Logs / 系统日志

No response

al-one commented 1 year ago

Add automation to update specified properties of a device:

alias: xiaomi miot get properties
description: xiaomi miot get properties
mode: single
trigger:
  - platform: time_pattern
    seconds: /1
    id: s1
condition: []
action:
  - if:
      - condition: trigger
        id: s1
    then:
      - service: xiaomi_miot.get_properties
        data:
          entity_id: light.yeelink_ceiling22_xxxx_light
          update_entity: true
          mapping:
            - siid: 2
              piid: 1
      - delay:
          milliseconds: 500
      - service: xiaomi_miot.get_properties
        data:
          entity_id: light.yeelink_ceiling22_xxxx_light
          update_entity: true
          mapping:
            - siid: 2
              piid: 1

But this is not recommended, frequent requests to the device may cause the device to go offline.

woci commented 1 year ago

Hi al-one,

thanks for your quick answer. In this case I won't force it, but it's strange, because Yeelight C2001C450 react quicker to state changes than Mi Smart Led. It is integrated via the official yeelight integration. Do you think, is it possible to change the state of the light if it's turned off? I don't want to turn it on, but change the previously set color temp and brightness to another one, or when I hit the turn off button/ wall switch then set the next state and next time it will get the prepared properties immediately.