MEW-01 który włącza i wyłącza wyjścia w ROW-04M

User avatar
klew
Posts: 8798
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

pawel wilk wrote: Thu Mar 09, 2023 9:32 am 5323 to jest nemer identyfikacyjny grzałki
Tego się domyślam. Natomiast wpisany warunek brzmi:
"jeśli suma mocy na trzech fazach jest mniesza niż -4500W ORAZ grzałka jest włączona"

Więc jeśli grzałka będzie wyłączona, to warunek nie będzie spełniony. Pewnie trzeba tam dodać "not", tak jak to opisałem na początku w viewtopic.php?p=144412#p144412
Widzimy się na Supla Offline Party vol. 2 :!:
pawel wilk
Posts: 39
Joined: Tue Feb 07, 2023 7:21 pm

Post

Pomyślałem żeby ustawić wykonywanie sceny w oparciu o czas i co minutę będzie aktualizowana
Bo teraz włączy grzałkę to co nam ustawione ale jak ja sam wyłączę to nie włączy się po ponownym osiągnięciu np -4500
pawel wilk
Posts: 39
Joined: Tue Feb 07, 2023 7:21 pm

Post

{{
(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)
}}

Czy ta scena wyłączająca nie powinna mieć off na końcu? Bo ma on?
User avatar
klew
Posts: 8798
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

pawel wilk wrote: Thu Mar 09, 2023 5:14 pm {{
(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)
}}

Czy ta scena wyłączająca nie powinna mieć off na końcu? Bo ma on?
To nie jest scena, tylko "wyzwalacz" lub "warunek" (zależnie skąd to skopiowałeś). To czy scena ma coś włączyć, czy wyłączyć ustawia się nieco niżej na stronie www.

Ten warunek od sceny wyłączającej mówi tyle: jeśli obecnie nie oddajemy energii, tylko ją pobieramy, oraz dwie "grzałki" (id 20561, 25444) są już wyłączone, a grzałka (25447) jest włączona, to uruchom scenę.
Widzimy się na Supla Offline Party vol. 2 :!:
pawel wilk
Posts: 39
Joined: Tue Feb 07, 2023 7:21 pm

Post

Miałem to robić na grzałkach podzielonych po jednej fazie ale zrezygnowałem z tego i chce tylko włączać i wyłączać grzałki. Możesz mi napisać jak wygląda warunek który będzie włączał jedną grzałkę przy produkcji 4.5 kw i jeden który ją wyłączy przy spadku produkcji poniżej 4.5 kw? Tak żeby grzałka była wyłączona jeżeli wyrządzaną energią pokrywa jej zużycie a jeżeli nie pokrywa to żeby się włączała. I czy można zrobić tak żeby ten warunek był sprawdzany co jakiś czas czy jest spełniony?
User avatar
klew
Posts: 8798
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

To ostatecznie ma być tylko jedna grzałka?
Jaką moc ma grzałka?
Widzimy się na Supla Offline Party vol. 2 :!:
marcox
Posts: 16
Joined: Sat Jan 25, 2020 10:06 pm

Post

Cześć.
Zrobiłem skrypty wg opisu z postu jak poniżej.
Ogólnie sceny w zależności od spełnienia warunków można wywołać ręcznie z poziomu script.supla.io.
( czyli wyzwalacz i warunek jest dobrze wpisany i jest sprawdzany przy wykonaniu sceny.)
Natomiast nie chce mi to działać autonomicznie tzn. warunek się zmienia ( tzn w moim przypadku moc z falownika sofar- via supla node MCU) a kanał którym steruję nie zmienia swego stanu. zarówno w jedną jak i w drugą stronę.
Czy coś pominąłem przy opcjach bo wygląda na to ze skrypty ok ale nie grają autonomicznie z elementem wykonawczym.
W logach skrytu pojawia się taki wpis: "Zignorowano zbyt szybkie sprawdzenie wyzwalacza."

a moje skrypty wyglądają tak: ( 24570,24571 i 24572 to przekaźniki a 24624 to moduł licznika mocy )
scena 1: (włączanie PK1)
Wyzwalanie w oparciu o stan kanałów

{{ (state(24624).phases[0].powerActive > 500) and (not state(24570).on) }}

Warunek wykonania
{{ (state(24624).phases[0].powerActive > 500) and (not state(24570).on) }}


Scena 2: ( wyłaczanie PK1)
Wyzwalanie w oparciu o stan kanałów
{{ (state(24624).phases[0].powerActive < 400) and (state (24570).on ) and (not state (24571).on) and ( not state (24572).on) }}

Warunek wykonania
{{ (state(24624).phases[0].powerActive < 400) and (state (24570).on ) and (not state (24571).on) and ( not state (24572).on) }}


Jakieś pomocne komentarze mile widziane.
pozdrawiam
Marek
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.
OXY
Posts: 15
Joined: Sat Feb 03, 2018 12:19 pm

Post

Cześć
Mam idąca Waszym pomysłem spróbowałem i ja z ustawieniem autokonsumpcji z pv w grzałkę/bufor.
Mam identyczny problem w tym, że ogólnie sceny w zależności od spełnienia warunków można wywołać ręcznie z poziomu script.supla.io.
ale nie chce mi to działać autonomicznie
Zrobiłem to kopiując Was ale zapewne coś zrobiłem źle... U mnie tak (testowo): MEW01 37156, Moduł wykonawczy 28407

1. scena Włącz
Wyzwalanie w oparciu o stan kanałów
{{ (state(37156).phases[0].powerActive + state(37156).phases[1].powerActive + state(37156).phases[2].powerActive < -1000) and (not state(28407).on) }}
Warunek wykonania
{{ (state(37156).phases[0].powerActive + state(37156).phases[1].powerActive + state(37156).phases[2].powerActive < -1000) and (not state(28407).on) }}
na kanał po 60 sekundach

2. scena Wyłącz
Wyzwalanie w oparciu o stan kanałów
{{ (state(37156).phases[0].powerActive + state(37156).phases[1].powerActive + state(37156).phases[2].powerActive > -100) and (state(28407).on) }}
Warunek wykonania
{{ (state(37156).phases[0].powerActive + state(37156).phases[1].powerActive + state(37156).phases[2].powerActive > -100) and (state(28407).on) }}

Proszę o pomoc

Czy taką funkcjonalność można zrobić w supla cloud?
Preußen
User avatar
pzygmunt
Posts: 18632
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

Obecnie nie można.
User avatar
klew
Posts: 8798
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

OXY wrote: Tue Apr 02, 2024 11:08 am Cześć
Mam idąca Waszym pomysłem spróbowałem i ja z ustawieniem autokonsumpcji z pv w grzałkę/bufor.
Mam identyczny problem w tym, że ogólnie sceny w zależności od spełnienia warunków można wywołać ręcznie z poziomu script.supla.io.
ale nie chce mi to działać autonomicznie
Zrobiłem to kopiując Was ale zapewne coś zrobiłem źle... U mnie tak (testowo): MEW01 37156, Moduł wykonawczy 28407

Proszę o pomoc

Czy taką funkcjonalność można zrobić w supla cloud?
Można na reakcjach dodać w zależności od łącznej mocy czynnej.
Widzimy się na Supla Offline Party vol. 2 :!:

Return to “ZAMEL MEW-01”