Witam . W HA mam skrypt który wyłącza belkę oświetleniową w taki sposób że następuje w zadanym czasie powolne ściemnianie światła od 100$% do 0 . Lecz nie mogę sobie poradzić z procesem odwrotnym, czyli rozjaśnianiem belki oświetleniowej od 0 do 100% w zadanym kroku . Może ktoś podpowie jak to zrobić . Oto mój skrypt na ściemnianie światła .
Hmmm - w ostatniej chwili zmieniałem nazwę na twoją encję (ćwiczyłem u mnie na inne i działało), teraz widzę literówkę w tej części poniżej (belk_1t). Zmieniałeś to czy wkleiłeś tylko mój kod?
Niby działa rozjaśnianie, ale . Aby działało stan belki na suwaku musi być 1% to wtedy rusza po uruchomieniu skryptu . Jeżeli belka 1 jest wyłączona to nie rusza . I jeszcze jedna sprawa . Dochodzi do 42% i staje za każdym razem . Już nie wiem co jest grane .
Dopiero teraz zauważyłem że wstawiłeś przez pomyłkę swoją encję . Ale jak wstawiłem moją to nie działa .
Nie, nie prze pomyłkę - chciałem, żebyś świadomie zmieniał ten kod, kontrolował go
Wracając do tematu - moim zdaniem problem jest źródło, którym próbujesz sterować. Trach chciał, że ja zacząłem testować na taśmie led i takim sterowniku, na którym każdy z proponowanych Ci wariantów działał. Ale faktycznie - kiedy to samo użyłem wobec innego sterownika, wobec żarówki zigbee - zaczęły się dziwne zachowania.
Musisz pokombinować.
U mnie na taśmach led (i w sumie na żarówce też) sprawdza się też takie podejście:
light_up:
alias: light_up
mode: single
sequence:
- repeat:
until:
- condition: template
value_template: >
{{ state_attr('light.led_tv_gabinet', 'brightness') | int(0) >= 250 }}
sequence:
- delay: "00:00:01"
- service: light.turn_on
target:
entity_id: light.led_tv_gabinet
data:
brightness: >
{% set current = state_attr('light.led_tv_gabinet', 'brightness') | int(0) %}
{% set next = current + 25 %}
{{ [next, 255] | min }}
light_down:
alias: light_down
mode: single
sequence:
- choose:
- conditions:
- condition: state
entity_id: light.led_tv_gabinet
state: "off"
sequence: []
- repeat:
until:
- condition: template
value_template: >
{{ state_attr('light.led_tv_gabinet', 'brightness') | int(0) <= 0 }}
sequence:
- delay: "00:00:01"
- service: light.turn_on
target:
entity_id: light.led_tv_gabinet
data:
brightness: >
{% set current = state_attr('light.led_tv_gabinet', 'brightness') | int(0) %}
{% set next = current - 25 %}
{{ [next, 0] | max }}
Żarówka/Sterownik musi obsługiwać transition natywnie. Jeśli oprogramowanie układowe żarówki/Sterownika nie obsługuje tego efektu (lub jej integracja go nie implementuje), nie będzie to działać.
Dziękuję wszystkim za zainteresowanie problemem . Więc tak . To jest projekt na razie w czysto teoretycznej formie w fazie testów, bez żadnej żarówki . Docelowo próbuję stworzyć automatyzację która będzie symulowała świt - zmierzch na taśmach led . Projekt całego sterowania jest zainstalowany w EspHome i fizycznie na płytce ESP32 a wygląda tak :
proponuję odejść od frameworka arduino na korzyść esp-idf (jeśli używasz tylko zgodnych z nim komponentów), UWAGA ta zmiana zazwyczaj wymaga flashowania kabelkiem, nie przez OTA
60Hz dla PWM to strasznie mało - gwarantuje właściwie mocno odczuwalne “wredne” migotanie (i to tym odczuwalnie mocniejsze im ciemniej świecisz), nie wiem jakie końcówki mocy używasz, ale nawet najgorszy “paździerz” da radę pracować do kilkunastu kHz - zastanów się nad możliwą liczbą kroków jasności i wybierz najwyższą możliwą częstotliwość
w związku z 2. ESP32 ma tylko 8 kanałów rzeczywistego kontrolera LEDC, więc należałoby pokopać głębiej po githubie/forach (niestety dokumentacja ESPHome jest dość biedna jeśli chodzi o tak zaawansowane rozwiązania i tego tam obecnie nie ma) jak to skonfigurować, aby buzzer pracował na programowym kanale, a LEDy jednak wykorzystywały sprzętowe wyjścia (to dość istotne jeśli chcesz uzyskać powolne ściemnianie).
Nic nie miga nawet przy mocnym ściemnieniu. Symulacja świtu i zmierzchu działa bez efektów skokowych w około 40 krokach ( nie wykorzystuję pełnej mocy i max u mnie to 80%
To też luzno odpowiem . To nie takie proste . Przynajmniej dla mnie . Ten wsad do EspHome który przedstawiłem nie jest mojej “produkcji” . Jest ogólnodostępny w necie i służy do sterowania oświetleniem akwariów . Tego pomysłu używam już co najmniej od sześciu lat, lecz wcześniejsze wydanie było na płytkach Arduino i nie miało połączenia z HA . Ponieważ niedawno odwiedziłem stronę autora i zobaczyłem że zrobił wsad na EspHome co oznaczało możliwość integracji z HA to postanowiłem potestować . Cały układ działa z HA i potrzebuję tylko zrobić automatyzacje na świt i zmrok . Skrypt na zmrok zrobiłem i działa natomiast na świt mi nie wychodził, więc tu napisałem . A nie wiem jak zmienić to z arduino na esp-idf . A co do częstotliwości to popróbuję z większymi jak już będę budować gotowy układ .