klew wrote: Wed Feb 08, 2023 9:37 am
To tutaj trzeba będzie trochę poeksperymentować z tymi ustawieniami i co kiedy ma być włączone.
Na ogrzewanie domu osobiście bym zbytnio nie liczył. Oczywiście, jak jest bezchmurnie, to jest pięknie, ale np. u mnie przy 10 kWp na dachu miałem 177 kWh wyprodukowane w grudniu (z danych falownika) i 237 kWh w styczniu. To nawet na zwykły bytowy prąd nie wystarczy, nie mówiąc już o ogrzewaniu czegokolwiek
Ale do rzeczy. Spróbujmy zrobić taką automatyzację przy pomocy skryptów. Zaloguj się na
https://scripts.supla.io .
Będziemy tam dodawać "sceny". U Ciebie będą 3 progi, więc będą tam 3 osobne sceny załączające przekaźniki, oraz 3 sceny wyłączające przekaźniki.
Najpierw dodaj scenę i nazwij ją np: "Autokonsumpcja - włączanie grzałki 1", następnie ustaw tylke te pola, o których piszę, a resztę zostaw pustą. W skrypach pojawiają się identyfikatory kanałów, np. "state(26818)" to u mnie kanał licznika energii. U Ciebie będzie inny. Ten numer możesz odczytać np. w apce na telefonie (po kliknięciu na (i) - "id kanału" ), albo możesz w skryptach napisać znak "{" i wtedy wyskoczy lista z podpowiedziami.
- "Wyzwalacz sceny w oparciu o stan kanałów" wstaw:
Code: Select all
{{
(state(26818).phases[0].powerActive + state(26818).phases[1].powerActive + state(26818).phases[2].powerActive < -4000)
and (not state(25447).on)
and (not state(25444).on)
and (not state(20561).on)
}}
U mnie 26818 to licznik energii.
25447 to "grzałka 1"
25444 to "grzałka 2"
20561 to "grzałka 3"
Zamień te ID na poprawne dla Twojego konta. W kolejnych przykładach też trzeba to popodmieniać, ale nie będę już o tym pisał.
- "Warunek wykonania sceny" - wstaw tutaj dokładnie to samo co w "Wyzwalacz sceny w oparciu o stan kanałów"
- Akcje -> kliknij "kanał" -> wybierze kanał "grzałka 1" i akcaj "włącz"
- zapisz - pierwsza scena gotowa
Teraz dodajemy drugą scenę:
"Autokonsumpcja - włączanie grzałki 2"
- - "Wyzwalacz sceny w oparciu o stan kanałów" wstaw:
Code: Select all
{{
(state(26818).phases[0].powerActive + state(26818).phases[1].powerActive + state(26818).phases[2].powerActive < -4000)
and (state(25447).on)
and (not state(25444).on)
and (not state(20561).on)
}}
- reszta ustawień analogicznie jak w poprzedniej, czyli do warunku kopiujesz to samo co w wyzwalaczu, a akcję ustawiasz włączenie grzałki 2.
Trzecia scena:
"Autokonsumpcja - włączanie grzałki 3"
- "Wyzwalacz sceny w oparciu o stan kanałów" wstaw:
Code: Select all
{{
(state(26818).phases[0].powerActive + state(26818).phases[1].powerActive + state(26818).phases[2].powerActive < -4000)
and (state(25447).on)
and (state(25444).on)
and (not state(20561).on)
}}
- reszta analogicznie jak wcześniej
Czwarta scena - wyłączanie przekaźników:
"Autokonsumpcja - wyłączanie grzałki 3"
- "Wyzwalacz sceny w oparciu o stan kanałów" wstaw:
Code: Select all
{{
(state(26818).phases[0].powerActive + state(26818).phases[1].powerActive + state(26818).phases[2].powerActive > 0)
and (state(25447).on)
and (state(25444).on)
and (state(20561).on)
}}
- reszta analogicznie jak wcześniej, z tym że akcja to "wyłącz grzałkę 3"
Piąta scena - wyłączanie przekaźników:
"Autokonsumpcja - wyłączanie grzałki 2"
- "Wyzwalacz sceny w oparciu o stan kanałów" wstaw:
Code: Select all
{{
(state(26818).phases[0].powerActive + state(26818).phases[1].powerActive + state(26818).phases[2].powerActive > 0)
and (state(25447).on)
and (state(25444).on)
and (not state(20561).on)
}}
- reszta analogicznie jak wcześniej, z tym że akcja to "wyłącz grzałkę 2"
Szósta scena - wyłączanie przekaźników:
"Autokonsumpcja - wyłączanie grzałki 1"
- "Wyzwalacz sceny w oparciu o stan kanałów" wstaw:
Code: Select all
{{
(state(26818).phases[0].powerActive + state(26818).phases[1].powerActive + state(26818).phases[2].powerActive > 0)
and (state(25447).on)
and (not state(25444).on)
and (not state(20561).on)
}}
- reszta analogicznie jak wcześniej, z tym że akcja to "wyłącz grzałkę 1"
Nie wiem jak to się zachowa w momentach załczania/wyłączania przekaźników (np. czy kilka na raz się nie załapie, bo stan przekaźnika się zmieni, a licznik energii jeszcze nie odczyta nowej mocy). Także jeśli by odpalały się natychmiast, to trzeba to trochę zmienić.
W takiej sytuacji spróbuj ze wszystkich powyższych scen usuwamy "wyzalanie w opacriu o stan kanałów".
I dodajemy nowe sceny:
"Sprwadź warunek włączania grzałki 1"
"wyzwalacz sceny w oparciu o stan kanałów" - wstaw tutaj wyzwalacz z pierwszej sceny, którą zrobiliśmy, warunek ustaw taki sam, natomaist zamiast włączać grzałkę, dodaj "opóźnione wykonanie akcji" - dodaj np. 30 s opóźnienia i następnie uruchom scenę "Autokonsumpcja - włączanie grzałki 1". Ta scena sprawdzi jeszcze raz warunek, czyli po 30 s sprawdzi, czy nadal poziom mocy jest odpowiedni i wtedy dopiero włączy przekaźnik.
Analogicznie trzeba będzie dodać takie opóźnione odpalanie dla każdej z 6 scen, które zrobiliśmy na początku.