Warunkowanie dla liczników elektrycznych

User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Na branchu develop https://github.com/SUPLA/supla-arduino/tree/develop wrzuciłem testową wersję warunkowania akcji dla liczników elektrycznych.

Nowe warunki pozwalają na wykonanie akcji na innych obiektach biblioteki zależnie od mierzonych parametrów liczników elektrycznych, takich jak: napięcie, prąd, moc aktywna, moc bierna, moc reaktywna.
Parametry te można powiązać ze wszystkimi dostępnymi warunkami (opisanymi tutaj: viewtopic.php?f=61&t=7952 )

Poniżej przykład na pseudokodzie:

Code: Select all

#include <supla/condition.h>
#include <supla/control/relay.h>
#include <supla/sensor/some_electricity_meter.h> // replace this with EM you want to use

// in setup:
auto r1 = new Supla::Control::Relay(...);
auto em = new Supla::Sensor::SomeElectricityMeter();

em->addAction(Supla::TURN_ON, r1, OnLess(-10, EmTotalPowerActiveW());
Powyższy kod włączy przekaźnik r1, gdy całkowita moc spadnie poniżej -10 W (ujemna moc pojawia się np. przy produkcji energii z fotowoltaiki).
"Całkowita moc" oznacza sumę mocy z faz trzech faz.

Są też dostępne metody do pobierania parametrów z konkretnych faz, np.: EmPowerActive(0) oznacza moc aktywną na pierwszej fazie. Przy licznikach jednofazowych można wpisywać 0, lub zostawić pole puste.

Oto lista dostępnych metod:

Code: Select all

EmVoltage(int8_t phase = 0);
EmCurrent(int8_t phase = 0);
EmTotalCurrent();
EmPowerActiveW(int8_t phase = 0);
EmTotalPowerActiveW();
EmPowerApparentVA(int8_t phase = 0);
EmTotalPowerApparentVA();
EmPowerReactiveVar(int8_t phase = 0);
EmTotalPowerReactiveVar();
Myślę, że nazwy są samowyjaśniające się ;). Do nazw zwiazanych z mocą dodałem symbol jednostki, aby było jasne jakimi jednostkami się posługujemy, czyli W, VA, var. Dla napięcia i prądu używamy odpowiednio V i A.
Mam nadzieję, że jest to wystarczający zestaw i nikt nie będzie robił warunkowania na podstawie kąta fazowego, lub częstotliwości prądu... jednak jeśli by to było potrzebne, to dajcie znać.
Składnia jest zawsze taka sama:

Code: Select all

instancjaLicznika->addAction(akcja_do_wykonania, obiekt_na_ktorym_wykonujemy_akcje, Warunek(wartosc_warunku, NazwaParametruEm(faza) );
Dajcie znać czy to działa :P
Najlepsze suple dla Twojego domu :mrgreen:
piotrekk
Posts: 134
Joined: Thu Sep 19, 2019 7:12 am

Post

a czy wrzucisz kawałek kodu co gdzie wstawić aby od 250V na L1 i produkcji 1kw załączyć wyjście?
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

piotrekk wrote: Thu Nov 04, 2021 4:39 pm a czy wrzucisz kawałek kodu co gdzie wstawić aby od 250V na L1 i produkcji 1kw załączyć wyjście?
Aktualnie nie ma prostej opcji na łączenie warunków.
Jakiego urządzenia używasz do pomiaru?
Najlepsze suple dla Twojego domu :mrgreen:
piotrekk
Posts: 134
Joined: Thu Sep 19, 2019 7:12 am

Post

pzem-004
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

Dzięki za dodanie usiądę do tego po weekendzie ;)
https://gui-generic-builder.supla.io/
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

klew wrote: Thu Nov 04, 2021 4:23 pm Dajcie znać czy to działa :P
Działa (pomimo tego co przestało działać) :D
Połączenie z AT również.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
bigthomas
Posts: 235
Joined: Mon Aug 12, 2019 3:35 pm

Post

krycha88 wrote: Fri Nov 05, 2021 8:06 pm Dzięki za dodanie usiądę do tego po weekendzie ;)
Daj znać jak będzie gotowe - chętnie potestuje :)
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

bigthomas wrote: Thu Nov 11, 2021 4:35 pm
krycha88 wrote: Fri Nov 05, 2021 8:06 pm Dzięki za dodanie usiądę do tego po weekendzie ;)
Daj znać jak będzie gotowe - chętnie potestuje :)
Dodam ale napisz maila dla jakiego urządzenia i jaki warunek. Abym trafił w oczekiwania ;)
https://gui-generic-builder.supla.io/
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

Prośba do posiadaczy Gosund SP111 o przetestowanie.

Mam do gniazdka podpięty rzutnik. Po włączeniu przekaźnika i podaniu napięcia następuje chwilowy (1-3s) wzrost wartości. Najwyższa wartość mocy jaką zarejestrowałem to aż 168W.

Czy możecie sprawdzić u siebie zachowanie mierników jak włączacie gniazdko i idzie napięcie na np. pralkę, zmywarkę itp.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
bigthomas
Posts: 235
Joined: Mon Aug 12, 2019 3:35 pm

Post

lukfud wrote: Mon Nov 15, 2021 2:44 pm
Trafiłeś ... bo w tym momencie programuje te gniazdka, wgrywając GUI-Generic.v4.2.15.Gosund_SP111.m1M64.fCPU160.
Po kalibracji sprawdzałem kilkukrotnie i nie zauważyłem wzrostu wartości - sprawdzałem na żarówce 100W (na której kalibruje gniazdko) oraz czajniku elektrycznym 2,2 kW. Możliwe że to sam rzutnik potrzebuje przy starcie więcej mocy.

Return to “Arduino IDE”