w ESPHome mam skonfigurowane rolety (cover, time-based) wszystko działa z poziomu HA. Fizycznie rolety spięte są przez dwa przekaźniki (kierunek, zasilanie). Na ścianach mam przyciski klawiszowe (monostabilne), chciałby w ESPHome skonfigurować je następująco:
Przycisk Góra:
Naciskam raz roleta jedzie na maxa do góry
naciskam drugi raz to się zatrzymuje
naciskam i przytrzymuję to otwiera się do momentu puszczenia
Przycisk dół: takie samo zachowanie z tym, że kierunek rolety jest w dół.
Jako, że raczkuję w temacie i nie znalazłem w sieci podobnej konfiguracji zwracam się do Was po wskazówki
Coś mi tu nie pasuje bo czy naciskam czy przytrzymuję dany przycisk efekt jest dokladnie ten sam - ruch rolety, nie widzę różnicy. Chyba, że masz na myśli dwie funkcjonalności do zrealizowania na przyciskach:
normalne opuszczanie i podnoszenie rolety
otwarcie lub zamknięcie rolety z dowolnego położenia rolety - klik i rolety jedzie do skrajnego położenia (góra lub dół).
Chodziło mi o to, że jak raz nacisnę to roleta opuszcza/podnosi się całkowicie z automatu
A przy tym jak trzymam to roleta wykonuje ruch i zatrzymuje się w momencie zwolnienia klawisza
W obu przypadkach położenie rolety nie ma znaczenia, bo nie mam w roletach czujników, a jedynie krańcówki mechaniczne
Już mam ogarnięte prawie tak jak bym chciał jeszcze to pewnie w przyszłości dopracuję. Korzystam z lambd i przy kompilacji mam ostrzeżenie, można coś z tym zrobić czy trzeba z tym żyć?
Treść ostrzeżenia i fragment kodu poniżej:
/config/esphome/io.yaml: In lambda function:
/config/esphome/io.yaml:352:37: warning: 'void esphome::cover::Cover::open()' is deprecated: open() is deprecated, use make_call().set_command_open() instead. [-Wdeprecated-declarations]
id(roleta_przedsionek).open();
^
In file included from src/esphome/core/application.h:37:0,
from src/esphome/components/api/api_connection.h:4,
from src/esphome.h:3,
from src/main.cpp:3:
src/esphome/components/cover/cover.h:134:8: note: declared here
void open();
^
on_press:
then:
# logic for cycling through movements: open->stop->close->stop->...
- lambda: |
if (id(roleta_przedsionek).current_operation == COVER_OPERATION_IDLE)
{
id(roleta_przedsionek).open();
}
else
{
id(roleta_przedsionek).stop(); // Cover is opening/closing. Stop it
}
A powiedz mi jak u ciebie wygląda zachowanie się sterownika do rolet po zaniku zasilania? U mnie wszystkie sterowniki po zaniku zasilania ustawiają się na 50% otwarcia niezależnie od tego w jakiej pozycji były przed zanikiem prądu. Czy jest możliwość zapamiętania pozycji w której były przez zanikiem prądu?
Poniżej cały kod do płytki esp8266 nodemcu v3.
Zamiennie ESP32 na 8 rolet.
Przekaźniki w trybie interlock z opóźnieniem 200ms (zabezpiecza przed włączeniem jednocześnie góra - dół) - mogą być pomocne w razie popsucia się stanu otwarcia/zamknięcia rolety.
Fiyzyczne i wirtualne przyciski działają za zasadzie góra/dół dowolny przycisk wyłącz.
Hej odgrzebie trochę temat, bo też walczę z roletami, ale na przełączniku Sonoff Dual R3 i… działa w sumie. Natomiast zrobiłem tak dla fizycznych przecisków: