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 ?
artpc
(artur)
18 Listopad 2024 18:36
2
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: ''
artpc
(artur)
18 Listopad 2024 23:33
4
Wejdź w Narzędzia Developerskie → Akcje.
Wybierz Domenę:
Wybierz swoją encję: light.my_wlightbox_v3_wlightbox_color_cct2
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 ?
artpc
(artur)
19 Listopad 2024 11:12
6
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
szopen
19 Listopad 2024 13:26
8
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
szopen
19 Listopad 2024 16:55
11
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ę.
szopen
19 Listopad 2024 18:09
13
Fajnie, ale prawidłowo działającą integracja powinna działać bez takich obejść.
Napisałem issue, dzięki wszystkim za pomoc
artpc
(artur)
20 Listopad 2024 03:04
15
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