Ledy CCT, nie działa ustawienie temperatury w skrypcie i automatyzacji, kontroler blebox wLightBox v3

Cześć.

Mam podłączone ledy CCT w domu za pomocą kontrolera blebox wLightBox v3. Normalnie w dashboard mogę sterować jasnością i temperaturą światła, ale jak próbuje zrobić skrypt lub automatyzacje na przełączanie leda to ustawienie jasności działa, ale ustawienie temperatury już nie i zawsze ustawia mi 6800k bez względu co ja sam ustawie.

Próbowałem już tworzyć skrypt bezpośrednio w yaml, a nie w UI, ustawiać parametr kelvin i inne które znalazłem w google, próbowałem nawet ograniczyć zakres temperatury dla tej encji w konfiguracji HA żeby była w zakresie 2800 - 3000k i w dashboard suwak temperatury miałem w takim zakresie, ale skrypt i tak daje rade ustawić ten encji 6800 przy włączeniu.

Miał ktoś podobny problem ?

Udostępnij nam swój kod bo nie jesteśmy w stanie czytać twoich myśli.

Jeżeli coś działa w Dashboard musi działać w kodzie.

Opcje dostępne w API blebox.

Atrybuty.

 ATTR_BRIGHTNESS,
    ATTR_COLOR_TEMP,
    ATTR_EFFECT,
    ATTR_RGB_COLOR,
    ATTR_RGBW_COLOR,
    ATTR_RGBWW_COLOR,
    ColorMode,
    LightEntity,
    LightEntityFeature,
COLOR_MODE_MAP = {
    BleboxColorMode.RGBW: ColorMode.RGBW,
    BleboxColorMode.RGB: ColorMode.RGB,
    BleboxColorMode.MONO: ColorMode.BRIGHTNESS,
    BleboxColorMode.RGBorW: ColorMode.RGBW,  # white hex is prioritised over RGB channel
    BleboxColorMode.CT: ColorMode.COLOR_TEMP,
    BleboxColorMode.CTx2: ColorMode.COLOR_TEMP,  # two instances
    BleboxColorMode.RGBWW: ColorMode.RGBWW,

Dokumentacja: https://github.com/home-assistant/core/blob/dev/homeassistant/components/blebox/light.py

Jestem dopiero na początku drogi z HA więc nie bardzo wiem jak wykorzystać te informacje z dokumentacji blebox’a, mój kod skryptu w yaml:

nowy_skrypt_2:
  alias: Nowy skrypt
  sequence:
  - action: light.toggle
    metadata: {}
    data:
      kelvin: 3000
      brightness_pct: 20
    target:
      entity_id: light.my_wlightbox_v3_wlightbox_color_cct2
  description: ''

Wejdź w Narzędzia Developerskie → Akcje.

Wybierz Domenę:
Screenshot - 19.11.2024 , 00_29_18

Wybierz swoją encję: light.my_wlightbox_v3_wlightbox_color_cct2

Screenshot - 19.11.2024 , 00_30_20

Znajdziesz tam całą obsługę domeny light

Tryb YAML.

@artpc zrobiłem tak jak opisałeś i niestety ten sam efekt, w trybie interfejsu mam temperaturę barwową która nie reaguje:

po przejściu do trybu yaml mam 2 parametry odpowiedzialne za temperature czyli kelvin i color_temp i oba są nieskuteczne:

Jest jakaś możliwość sprawdzenia jaki yaml jest generowany poprzez wejście w szczegóły encji w dashboard gdzie ustawianie temperatury działa ?

Sprawdź w Narzędzia Deweloperskie → Stany co obsługuje twoja encja.

Super, dziękuje bardzo za pomoc, okazuje się że kolor mogę zmienić zmieniając parametr:

xy_color:
    - 0.426
    - 0.366

To znaczy, że integracja jest źle napisana, powinieneś zgłosić issue.

Dzięki wielkie, tak zrobie

Problem niestety okazał się jeszcze inny, ustawienie temperatury nie działa jeśli w jednym skrypcie ustawiam temperature jednocześnie z jasnością:

action: light.turn_on
target:
  entity_id: light.my_wlightbox_v3_wlightbox_color_cct2
data:
  brightness_pct: 10
  kelvin: 3000

jeśli usunę brightness_pct to skrypt zmienia temperature led:

action: light.turn_on
target:
  entity_id: light.my_wlightbox_v3_wlightbox_color_cct2
data:
  kelvin: 3000

W ramach obejścia problemu wykonaj 2 osobne akcje po sobie (być może wprowadzając lekkie opóźnienie między nimi) i zgłoś issue.

@szopen udało się jak zrobiłem tak jak napisałeś czyli skrypt który robi dwie akcje, w pierwszej ustawia jasność a w drugiej temperaturę.

Fajnie, ale prawidłowo działającą integracja powinna działać bez takich obejść.

Napisałem issue, dzięki wszystkim za pomoc :slight_smile:

Znalezione w zakamarkach Internetu.

alias: Sunrise
sequence:
  - variables:
      start_brightness: 3
      end_brightness: 155
      start_x: 0.7
      end_x: 0.484
      start_y: 0.3
      end_y: 0.447
      duration_minutes: 20
      increment_brightness: "{{ (end_brightness - start_brightness) / duration_minutes }}"
      increment_x: "{{ (end_x - start_x) / duration_minutes }}"
      increment_y: "{{ (end_y - start_y) / duration_minutes }}"
  - data:
      xy_color: "{{ start_x }},{{ start_y }}"
      brightness: "{{ start_brightness }}"
    entity_id: light.downlight_z_komputer
    action: light.turn_on
  - delay: 60
  - repeat:
      count: "{{ duration_minutes }}"
      sequence:
        - data:
            xy_color: >-
              {{ state_attr('light.downlight_z_komputer', 'xy_color')[0] | float
              + increment_x }},{{ state_attr('light.downlight_z_komputer',
              'xy_color')[1] | float + increment_y }}
            brightness: >-
              {{ state_attr('light.downlight_z_komputer', 'brightness') | int +
              increment_brightness }}
          entity_id: light.downlight_z_komputer
          action: light.turn_on
        - delay: 60
mode: single
icon: mdi:sun-clock

Włączenie i rozjaśnienie do zdefiniowanego xy_color i brightness w ciągu 20 min, wszystkie parametry zawarte są w:

- variables:
      start_brightness: 3
      end_brightness: 155
      start_x: 0.7
      end_x: 0.484
      start_y: 0.3
      end_y: 0.447
      duration_minutes: 20