Xiaomi mi led desk lamp 1s error integration

I flashed the lamp for work and automation in HA. But after rebooting the firmware, an error began to appear in the log for this lamp:
[D][esp-idf:000]: E (1322577) system_api: Base MAC address from BLK3 of EFUSE version error, version = 87
I didn’t find a solution to this problem, or I didn’t quite understand what to do.
Maybe there is someone who has encountered this error and successfully solved it? Or does someone know how to fix it?

substitutions:
  friendly_name: Mi Desk Lamp 1S Room
  device_name: mi-desklamp-1s-room

esphome:
  name: ${device_name}
  comment: ${friendly_name}

esp32:
  board: esp32doit-devkit-v1
  framework:
    type: esp-idf
    sdkconfig_options:
      CONFIG_FREERTOS_UNICORE: y
    advanced:
      ignore_efuse_mac_crc: true


logger:

api:
  encryption:
    key: "CO65nmDZzy5AfqTZ6/LSK5l1/ED7fpQj63hSm/xqSIg="

ota:
  - platform: esphome
    password: "0cbd3239db2b8b0f75e971eafdc0d5f1"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  ap:
    ssid: "Mi-Desk-Lamp-1S-Room"
    password: "g881mPuUPCzu"


captive_portal:

time:
  - platform: homeassistant
    id: homeassistant_time


text_sensor:
  - platform: version
    name: ${friendly_name} Version
  - platform: wifi_info
    ip_address:
      name: ${friendly_name} IP Address

sensor:
 
  - platform: uptime
    name: ${friendly_name} Uptime

  - platform: wifi_signal
    name: ${friendly_name} Wifi Signal
    update_interval: 60s


  - platform: rotary_encoder
    id: rotation
    pin_a: GPIO27
    pin_b: GPIO26
    resolution: 2
    on_value:
      then:
        - if:
            condition:
              # Check if Button is pressed while rotating
              lambda: "return id(button).state;"
            then:
              # If Button is pressed, change CW/WW
              - lambda: |-
                  auto min_temp = id(light1).get_traits().get_min_mireds();
                  auto max_temp = id(light1).get_traits().get_max_mireds();
                  auto cur_temp = id(light1).current_values.get_color_temperature();
                  auto new_temp = max(min_temp, min(max_temp, cur_temp + (x*10)));
                  auto call = id(light1).turn_on();
                  call.set_color_temperature(new_temp);
                  call.perform();
            else:
              # If Button is not pressed, change brightness
              - light.dim_relative:
                  id: light1
                  relative_brightness: !lambda |-
                    return x / 25.0;
        # Reset Rotation to 0
        - sensor.rotary_encoder.set_value:
            id: rotation
            value: 0

binary_sensor:
  - platform: gpio
    id: button
    pin:
      number: GPIO33
      inverted: True
      mode: INPUT_PULLDOWN
    on_click:
      then:
        - light.toggle:
            id: light1
            transition_length: 0.2s

output:
  - platform: ledc
    pin: GPIO2
    id: output_cw
    frequency: 40000Hz
    power_supply: power
  - platform: ledc
    pin: GPIO4
    id: output_ww
    power_supply: power
    frequency: 40000Hz

power_supply:
  - id: power
    pin: GPIO12
    enable_time: 0s
    keep_on_time: 0s

light:
  - platform: cwww
    id: light1
    default_transition_length: 0s
    constant_brightness: true
    name: "${friendly_name} Light"
    cold_white: output_cw
    warm_white: output_ww
    cold_white_color_temperature: 4800 K
    warm_white_color_temperature: 2500 K #2500k is the original value of the lamp. To correct binning for 2700k to look more like 2700k use 2650k instead
    restore_mode: ALWAYS_ON
    gamma_correct: 0

The extra line was the solution for the same kind of error for the Xiaomi bedside lamp.

3 Likes

Wow, I just noticed that it’s now possible to control the lamp.
Thank you!

But for general information, what could cause this error?

There are some recent changes in ESPHome that turn out to be breaking changes for the type of ESP32 that is used in these devices.

1 Like