KaufHA / kauf-rgbww-bulbs

Files for the KAUF RGBWW Smart Bulbs
39 stars 18 forks source link

Issue Updating KaufHA Bulb from ESPHome 2024.5.5 #63

Closed teamRibcage closed 4 weeks ago

teamRibcage commented 4 weeks ago

Greetings! I am having an issue updating my KaufHA bulbs (6x in total) from the ESPHome dashboard. They have all been updated in this manner several times in the past, but unfortunately it seems there is a problem with the latest version somewhere. All of my bulbs have a similar yaml config:

esphome:
  comment: >
    Den Lamp #1 - KAUF Smart Bulb Model: BLF10

substitutions:
  name: den-lamp-1
  friendly_name: Den Lamp 1
packages:
  kauf.rgbww: github://KaufHA/kauf-rgbww-bulbs/kauf-bulb.yaml

api:
  # encryption:      <-- Unused for the last couple of updates
  #   key: !secret den_lamp1_key

ota:
  password: !secret den_lamp1_ota

wifi:
  ssid: !secret den_ssid
  password: !secret den_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "DenLamp1AP"
    password: !secret recovery_password

I upgraded the firmware on one of the bulbs by directly uploading kauf-bulb-v1.93-update.bin.gz, after which the bulb required a full reset in order to get it connected to our home network once again. I re-imported the bulb to ESPHome but unfortunately the default yaml also fails validation. The same (essentially) error is returned:

INFO ESPHome 2024.5.5
INFO Reading configuration /config/den-lamp-1.yaml...
INFO Updating https://github.com/KaufHA/kauf-rgbww-bulbs@None
ERROR Unable to import component light:
Traceback (most recent call last):
  File "/esphome/esphome/loader.py", line 176, in _lookup_module
    module = importlib.import_module(f"esphome.components.{domain}")
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/config/.esphome/external_components/69101fc3/components/light/__init__.py", line 5, in <module>
    from esphome.const import (
ImportError: cannot import name 'CONF_WEB_SERVER_ID' from 'esphome.const' (/esphome/esphome/const.py)
Failed config

light: [source /config/.esphome/packages/0cf47246/kauf-bulb.yaml:197]

  Component not found: light.
  - platform: kauf_rgbww
    id: warm_rgb
    entity_category: config
    default_transition_length: 0ms
    icon: mdi:store-cog
    aux: True
    name: Den Lamp 1 Warm RGB
    forced_hash: 4077116474
    forced_addr: 28
    global_addr: global_forced_addr
    disabled_by_default: true
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: kauf_rgbww
    id: cold_rgb
    entity_category: config
    default_transition_length: 0ms
    icon: mdi:store-cog-outline
    aux: True
    name: Den Lamp 1 Cold RGB
    forced_hash: 301094535
    forced_addr: 40
    global_addr: global_forced_addr
    disabled_by_default: true
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: kauf_rgbww
    id: kauf_light
    default_transition_length: 250ms
    name: Den Lamp 1
    red: pwm_red
    green: pwm_green
    blue: pwm_blue
    warm_white: pwm_ww
    cold_white: pwm_cw
    warm_rgb: warm_rgb
    cold_rgb: cold_rgb
    warm_white_color_temperature: 2800 Kelvin
    cold_white_color_temperature: 6600 Kelvin
    forced_hash: 2723974766
    forced_addr: 52
    global_addr: global_forced_addr
    restore_mode: RESTORE_DEFAULT_ON
    on_turn_on: 
      - script.execute: script_do_nothing
    on_turn_off: 
      - script.execute: script_do_nothing

Please let me know if there's anything else I can provide that might help get to the bottom of it. Thanks! 🙂

teamRibcage commented 4 weeks ago

Well..... it seems that I somehow missed the fact that my ESPHome container was out of date..... #facepalm 🙄

Updating to 2024.6.1 has solved this issue. There is still another issue with the button component causing validation to fail on the updated container, however as that is a different error altogether (on a different version of ESPHome) this issue can be closed.

2024.6.1 Error:

INFO ESPHome 2024.6.1
INFO Reading configuration /config/kauf-bulb-489e9f.yaml...
INFO Updating https://github.com/KaufHA/kauf-rgbww-bulbs@None
ERROR Unable to load component button:
Traceback (most recent call last):
  File "/esphome/esphome/loader.py", line 176, in _lookup_module
    module = importlib.import_module(f"esphome.components.{domain}")
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/esphome/esphome/components/button/__init__.py", line 48, in <module>
    cv.ENTITY_BASE_SCHEMA.extend(web_server.WEBSERVER_SORTING_SCHEMA)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'esphome.components.web_server' has no attribute 'WEBSERVER_SORTING_SCHEMA'
Failed config

button: [source /config/.esphome/packages/0cf47246/kauf-bulb.yaml:114]

  Component not found: button.
  - platform: restart
    id: restart_button
    name: Kauf Bulb Restart Firmware
    entity_category: diagnostic
    disabled_by_default: true

I'm sure work is being done to correct this one as well. If the problem persists, I'll open a separate issue for it. Thanks again for a great product!! 🙂