⚙ [TO DO] Co chcielibyście jeszcze dodać do GUI-Generic? ☕

Awatar użytkownika
Duch__
Posty: 1780
Rejestracja: śr sie 24, 2016 7:26 pm
Lokalizacja: Opole

Można prosić o dodanie uśredniania wyników pomiarów z czujników, np. z ostatnich 10 pomiarów? Po co? Aktualnie wykorzystując warunkowanie przekaźnika i pomiar wilgotności steruje załączaniem i wyłączaniem nawilżacza. Przez to że pomiar jest dosyć "zaszumiony" następuje co parę minut kliknięcie przekaźnika. Uśredniając wynik pozbędę się tych skoków, a tym samym ograniczę ilość zmian stanu przekaźnika.
Obrazek
krycha88
Posty: 5195
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

Duch__ pisze: czw gru 15, 2022 1:42 pm Można prosić o dodanie uśredniania wyników pomiarów z czujników, np. z ostatnich 10 pomiarów? Po co? Aktualnie wykorzystując warunkowanie przekaźnika i pomiar wilgotności steruje załączaniem i wyłączaniem nawilżacza. Przez to że pomiar jest dosyć "zaszumiony" następuje co parę minut kliknięcie przekaźnika. Uśredniając wynik pozbędę się tych skoków, a tym samym ograniczę ilość zmian stanu przekaźnika.
To jest ten sam problem
viewtopic.php?p=138303#p138303
https://gui-generic-builder.supla.io/
Awatar użytkownika
Duch__
Posty: 1780
Rejestracja: śr sie 24, 2016 7:26 pm
Lokalizacja: Opole

Ja w swoich kodach robiłem coś na wzór jak poniżej. Zjada to troszkę więcej pamięci RAM, ale działa skutecznie.

Kod: Zaznacz cały


if(pierwszy_pomiar == 0){
	pierwszy_pomiar = 1;
	Pomiar1 = Nowy_pomiar;
	Pomiar2 = Nowy_pomiar;
	Pomiar3 = Nowy_pomiar;
	Pomiar4 = Nowy_pomiar;
	Pomiar5 = Nowy_pomiar;
	Pomiar6 = Nowy_pomiar;
	Pomiar7 = Nowy_pomiar;
	Pomiar8 = Nowy_pomiar;
	Pomiar9 = Nowy_pomiar;
	Pomiar10 = Nowy_pomiar;
}

Pomiar10 = Pomiar9;
Pomiar9 = Pomiar8;
Pomiar8 = Pomiar7;
Pomiar7 = Pomiar6;
Pomiar6 = Pomiar5;
Pomiar5 = Pomiar4;
Pomiar4 = Pomiar3;
Pomiar3 = Pomiar2;
Pomiar2 = Pomiar1;

Pomiar1 = Nowy_pomiar;

Średnia = 0;
Średnia = Średnia + Pomiar1;
Średnia = Średnia + Pomiar2;
Średnia = Średnia + Pomiar3;
Średnia = Średnia + Pomiar4;
Średnia = Średnia + Pomiar5;
Średnia = Średnia + Pomiar6;
Średnia = Średnia + Pomiar7;
Średnia = Średnia + Pomiar8;
Średnia = Średnia + Pomiar9;
Średnia = Średnia + Pomiar10;

Średnia = Średnia / 10;
Obrazek
Awatar użytkownika
Hrumque
Posty: 275
Rejestracja: pn cze 27, 2022 10:11 am
Lokalizacja: Opole

Duch__ pisze: czw gru 15, 2022 2:22 pm Ja w swoich kodach robiłem coś na wzór jak poniżej. Zjada to troszkę więcej pamięci RAM, ale działa skutecznie.

Kod: Zaznacz cały


if(pierwszy_pomiar == 0){
	pierwszy_pomiar = 1;
	Pomiar1 = Nowy_pomiar;
	Pomiar2 = Nowy_pomiar;
	Pomiar3 = Nowy_pomiar;
	Pomiar4 = Nowy_pomiar;
	Pomiar5 = Nowy_pomiar;
	Pomiar6 = Nowy_pomiar;
	Pomiar7 = Nowy_pomiar;
	Pomiar8 = Nowy_pomiar;
	Pomiar9 = Nowy_pomiar;
	Pomiar10 = Nowy_pomiar;
}

Pomiar10 = Pomiar9;
Pomiar9 = Pomiar8;
Pomiar8 = Pomiar7;
Pomiar7 = Pomiar6;
Pomiar6 = Pomiar5;
Pomiar5 = Pomiar4;
Pomiar4 = Pomiar3;
Pomiar3 = Pomiar2;
Pomiar2 = Pomiar1;

Pomiar1 = Nowy_pomiar;

Średnia = 0;
Średnia = Średnia + Pomiar1;
Średnia = Średnia + Pomiar2;
Średnia = Średnia + Pomiar3;
Średnia = Średnia + Pomiar4;
Średnia = Średnia + Pomiar5;
Średnia = Średnia + Pomiar6;
Średnia = Średnia + Pomiar7;
Średnia = Średnia + Pomiar8;
Średnia = Średnia + Pomiar9;
Średnia = Średnia + Pomiar10;

Średnia = Średnia / 10;
1. Jeśli nie potrzebujesz robić statystyk i "średniej ważonej" i odrzucać najniższych i najwyższych wartości itd - to niepotrzebnie trzymać wszystkie pomiary a potem sumować.
Prościej: wykonywać pomiar cyklicznie i dodawać za każdym razem do "pomiar_suma", oraz zliczać liczbę pomiarów dokonanych. Co np 16 pomiarów - całą sumę podzielić przez 16, i przepisać:

Kod: Zaznacz cały

 pomiar_średnia = pomiar_suma/16 
2. Jak tylko się da - to nie liczyć 10, tylko 8 lub 16szt, wtedy dzielenie to tylko przesuwanie bitów w zmiennej, robi się dziesiątki razy szybciej (no chyba że masz FPU przy CPU i nic cię to nie kosztuje)
daw34
Posty: 126
Rejestracja: ndz sie 08, 2021 11:12 am

krycha88 pisze: czw lis 17, 2022 11:39 am
Yepestis pisze: czw lis 17, 2022 10:33 am
1. Wirtualny włącznik (jak przy bramie wysuwany z jednej strony) który by odpalał ustawiona sekwencję. Ilość sekwencji by musiała być ręcznie do ustawienia gdyż są lampy po dwóch zapaleniach, to samo się tyczy przy lampach (żarówkach) że zmiennym trybem święcenia. viewtopic.php?p=118395#p118395
2. Warunkowanie wyjść na podstawie stanów wejść. Czyli możliwość sterowania np. przekaźnikiem z wielu wejść ale przez warunki logiczne AND, OR itd… viewtopic.php?p=118405#p118405
3. Licznik energii na CSE7761 i BL0939 (sonoff dual R3 v1 i v2) viewtopic.php?p=118432#p118432
4. Sterowanie modułem po MQTT wewnątrz LAN. viewtopic.php?p=118459#p118459
5. Obsługa diod ws2811, ws2812. viewtopic.php?p=118463#p118463
6. czujnik pomiaru energii do Shelly 2.5 viewtopic.php?p=118464#p118464
7. Watomierz ADE7953 viewtopic.php?p=118480#p118480
8. Sonoff D1 viewtopic.php?p=118495#p118495
9. Bramka Sonoff zigbee viewtopic.php?p=118501#p118501
10. Obsługa kontrolera solarów EPEVER viewtopic.php?p=118509#p118509
11. Termostat viewtopic.php?p=118647#p118647
12. Warunkowanie wyjść w zależności od tego czy urządzenie ma dostęp do internetu czyli jest zalogowany do serwera supli czy dostępu nie ma i jest rozłączony z suplą. viewtopic.php?p=118688#p118688
13. Wyłączenie lub załączenie wyjścia przy braku pingu dla wybranego adresu IP lub np. www.google.pl viewtopic.php?p=118925#p118925
14. Wsparcie GUI Generic dla OLED 1.5 Cal 128x128 GME128128-02 SSD1327. viewtopic.php?p=119351#p119351
15. Dodanie obsługi miernika PH.
https://a.aliexpress.com/_vda4OP viewtopic.php?p=119944#p119944
16. czujnik do jakości powietrza Co2 i TVOC (substancji lotnych w powietrzu) np. SGP30 lub CCS811 oba na I2C viewtopic.php?p=120196#p120196
17. obsługa modbus viewtopic.php?p=120465#p120465
18. wsparcie Tuya RX i Tuya TX viewtopic.php?p=120513#p120513
19. obsługę ETH01. przyda się do modułów montowanych w szafach. viewtopic.php?p=120965#p120965
20. SM2135 chip. viewtopic.php?p=121072#p121072
21. Wysyłanie spersonalizowanego adresu URL na urządzenia spoza sieci Supla. viewtopic.php?p=121436#p121436
22. Obsługa / firmware da WT32-ETH01 viewtopic.php?p=121470#p121470
23. Czasem robimy update i nie pamiętamy jaki moduły były wybrane podczas update było by fajnie jakby się kopiowało jakiś kod który wklejamy w GG i automatycznie zaznaczają sie nam potrzebne moduły viewtopic.php?p=121552#p121552
24. Servo viewtopic.php?p=121731#p121731
25. Maksymalna i minimalna możliwa jasność dla dimmera viewtopic.php?p=123204#p123204
26. personalizacja dźwięku wysyłanego przez pushover viewtopic.php?p=123493#p123493
27. Integracja powiadomień z https://www.pushbullet.com . viewtopic.php?p=123613#p123613
28. ELHOME WS-05H1 viewtopic.php?p=124449#p124449
29. wsparcie dla 1.5 cala128x128 na SSD1327 GME128128-02 viewtopic.php?p=124779#p124779
30. Czujnik piorunów AS3935 viewtopic.php?p=125198#p125198
31. Waga tensometryczna na hx71 viewtopic.php?p=125397#p125397
32. obsługa Max7219 i odczyt temperatury zewnętrznej przez direct link na większych cyfrach. viewtopic.php?p=126452#p126452
33. odczyt wilgotności i ciśnienia za pomocą linków bezpośrednich viewtopic.php?p=126554#p126554
34. Deszczomierz viewtopic.php?p=126559#p126559
35. wyświetlacz w postaci terminala-portu szeregowego viewtopic.php?p=127210#p127210
36. obsługa enkoderów obrotowych viewtopic.php?p=127210#p127210
37. warunkowanie-grupowanie przekaźników viewtopic.php?p=127210#p127210
38. timer odliczający na ESP czas "czas załączenia kanału/przekaźnika" viewtopic.php?p=127210#p127210
39. Wirtualny PowerMeter viewtopic.php?p=127210#p127210
40. komponenty "stacji pogodowej", aerometr, deszczomierz lub kierunek/prędkość wiatru. viewtopic.php?p=128317#p128317
41. możliwość dodania takiej opcji że po spełnieniu warunku zostanie on wykonany po upływie zadanego czasu ? Że po spadku napięcia poniżej np 250 V przekaźnik będzie załączony jeszcze przez czas który został zdefiniowany . viewtopic.php?p=128656#p128656
42. wprowadzenie do GG wyświetlania w module (w formie podstrony) listę opcji które zostały zaznaczone do generowania softu viewtopic.php?p=129550#p129550
43. opóźnienie załączenia kanału po zaniku prądu. viewtopic.php?p=129764#p129764
44. czujnik A02YYUW viewtopic.php?p=129805#p129805
45. moduł analogowy ACS71 viewtopic.php?p=129933#p129933
46. obsługa urządzeń Somfy RTS. viewtopic.php?p=130119#p130119
47. integrator do zabbixa viewtopic.php?p=130370#p130370
48. Wyeliminowanie zawieszania GUI viewtopic.php?p=131240#p131240
49. MODUŁ INA219 na I2C Do mierzenia napięcia akumulatora viewtopic.php?p=131714#p131714
50. obsługa modułu Dingtian Relay viewtopic.php?p=132246#p132246
51. MAX31865 do obsługi PT100 viewtopic.php?p=133734#p133734
52. 4-20MA CZUJNIK POZIOMU WODY ZANURZALNY viewtopic.php?p=133881#p133881
53. wyświetlacz e-paper viewtopic.php?p=135791#p135791
54. multiplekser analogowy np 74HC4051 viewtopic.php?p=135875#p135875
55. przerobić funkcję WOL aby był dodatkowo kanał furtki który pokazuje stan on/off na podstawie odpowiedzi na ping viewtopic.php?p=135886#p135886
Lista całkiem spora, ale nie dodałem chyba jednego dość istotnego punktu. Aby je zrealizować muszę posiadać sprzęt na biurku do testów :)
Witam, wiem że pytanie w nieodpowiednim poście ale czy mogli byście mi wyjaśnić jak podłączyć ten czujnik do wemos d1 mini z wgranym GG nie do końca rozumiem ten schemat. Chodzi o punkt 52. czujnik poziomu wody 4-20ma na zagranicznym forum znalazłem taki temat https://forum.arduino.cc/t/read-a-4-20m ... 266/555122.
Z J
Posty: 123
Rejestracja: śr lut 23, 2022 8:25 am

krycha88 pisze: czw lis 17, 2022 11:39 am
Yepestis pisze: czw lis 17, 2022 10:33 am
1. Wirtualny włącznik (jak przy bramie wysuwany z jednej strony) który by odpalał ustawiona sekwencję. Ilość sekwencji by musiała być ręcznie do ustawienia gdyż są lampy po dwóch zapaleniach, to samo się tyczy przy lampach (żarówkach) że zmiennym trybem święcenia. viewtopic.php?p=118395#p118395
2. Warunkowanie wyjść na podstawie stanów wejść. Czyli możliwość sterowania np. przekaźnikiem z wielu wejść ale przez warunki logiczne AND, OR itd… viewtopic.php?p=118405#p118405
3. Licznik energii na CSE7761 i BL0939 (sonoff dual R3 v1 i v2) viewtopic.php?p=118432#p118432
4. Sterowanie modułem po MQTT wewnątrz LAN. viewtopic.php?p=118459#p118459
5. Obsługa diod ws2811, ws2812. viewtopic.php?p=118463#p118463
6. czujnik pomiaru energii do Shelly 2.5 viewtopic.php?p=118464#p118464
7. Watomierz ADE7953 viewtopic.php?p=118480#p118480
8. Sonoff D1 viewtopic.php?p=118495#p118495
9. Bramka Sonoff zigbee viewtopic.php?p=118501#p118501
10. Obsługa kontrolera solarów EPEVER viewtopic.php?p=118509#p118509
11. Termostat viewtopic.php?p=118647#p118647
12. Warunkowanie wyjść w zależności od tego czy urządzenie ma dostęp do internetu czyli jest zalogowany do serwera supli czy dostępu nie ma i jest rozłączony z suplą. viewtopic.php?p=118688#p118688
13. Wyłączenie lub załączenie wyjścia przy braku pingu dla wybranego adresu IP lub np. www.google.pl viewtopic.php?p=118925#p118925
14. Wsparcie GUI Generic dla OLED 1.5 Cal 128x128 GME128128-02 SSD1327. viewtopic.php?p=119351#p119351
15. Dodanie obsługi miernika PH.
https://a.aliexpress.com/_vda4OP viewtopic.php?p=119944#p119944
16. czujnik do jakości powietrza Co2 i TVOC (substancji lotnych w powietrzu) np. SGP30 lub CCS811 oba na I2C viewtopic.php?p=120196#p120196
17. obsługa modbus viewtopic.php?p=120465#p120465
18. wsparcie Tuya RX i Tuya TX viewtopic.php?p=120513#p120513
19. obsługę ETH01. przyda się do modułów montowanych w szafach. viewtopic.php?p=120965#p120965
20. SM2135 chip. viewtopic.php?p=121072#p121072
21. Wysyłanie spersonalizowanego adresu URL na urządzenia spoza sieci Supla. viewtopic.php?p=121436#p121436
22. Obsługa / firmware da WT32-ETH01 viewtopic.php?p=121470#p121470
23. Czasem robimy update i nie pamiętamy jaki moduły były wybrane podczas update było by fajnie jakby się kopiowało jakiś kod który wklejamy w GG i automatycznie zaznaczają sie nam potrzebne moduły viewtopic.php?p=121552#p121552
24. Servo viewtopic.php?p=121731#p121731
25. Maksymalna i minimalna możliwa jasność dla dimmera viewtopic.php?p=123204#p123204
26. personalizacja dźwięku wysyłanego przez pushover viewtopic.php?p=123493#p123493
27. Integracja powiadomień z https://www.pushbullet.com . viewtopic.php?p=123613#p123613
28. ELHOME WS-05H1 viewtopic.php?p=124449#p124449
29. wsparcie dla 1.5 cala128x128 na SSD1327 GME128128-02 viewtopic.php?p=124779#p124779
30. Czujnik piorunów AS3935 viewtopic.php?p=125198#p125198
31. Waga tensometryczna na hx71 viewtopic.php?p=125397#p125397
32. obsługa Max7219 i odczyt temperatury zewnętrznej przez direct link na większych cyfrach. viewtopic.php?p=126452#p126452
33. odczyt wilgotności i ciśnienia za pomocą linków bezpośrednich viewtopic.php?p=126554#p126554
34. Deszczomierz viewtopic.php?p=126559#p126559
35. wyświetlacz w postaci terminala-portu szeregowego viewtopic.php?p=127210#p127210
36. obsługa enkoderów obrotowych viewtopic.php?p=127210#p127210
37. warunkowanie-grupowanie przekaźników viewtopic.php?p=127210#p127210
38. timer odliczający na ESP czas "czas załączenia kanału/przekaźnika" viewtopic.php?p=127210#p127210
39. Wirtualny PowerMeter viewtopic.php?p=127210#p127210
40. komponenty "stacji pogodowej", aerometr, deszczomierz lub kierunek/prędkość wiatru. viewtopic.php?p=128317#p128317
41. możliwość dodania takiej opcji że po spełnieniu warunku zostanie on wykonany po upływie zadanego czasu ? Że po spadku napięcia poniżej np 250 V przekaźnik będzie załączony jeszcze przez czas który został zdefiniowany . viewtopic.php?p=128656#p128656
42. wprowadzenie do GG wyświetlania w module (w formie podstrony) listę opcji które zostały zaznaczone do generowania softu viewtopic.php?p=129550#p129550
43. opóźnienie załączenia kanału po zaniku prądu. viewtopic.php?p=129764#p129764
44. czujnik A02YYUW viewtopic.php?p=129805#p129805
45. moduł analogowy ACS71 viewtopic.php?p=129933#p129933
46. obsługa urządzeń Somfy RTS. viewtopic.php?p=130119#p130119
47. integrator do zabbixa viewtopic.php?p=130370#p130370
48. Wyeliminowanie zawieszania GUI viewtopic.php?p=131240#p131240
49. MODUŁ INA219 na I2C Do mierzenia napięcia akumulatora viewtopic.php?p=131714#p131714
50. obsługa modułu Dingtian Relay viewtopic.php?p=132246#p132246
51. MAX31865 do obsługi PT100 viewtopic.php?p=133734#p133734
52. 4-20MA CZUJNIK POZIOMU WODY ZANURZALNY viewtopic.php?p=133881#p133881
53. wyświetlacz e-paper viewtopic.php?p=135791#p135791
54. multiplekser analogowy np 74HC4051 viewtopic.php?p=135875#p135875
55. przerobić funkcję WOL aby był dodatkowo kanał furtki który pokazuje stan on/off na podstawie odpowiedzi na ping viewtopic.php?p=135886#p135886
Lista całkiem spora, ale nie dodałem chyba jednego dość istotnego punktu. Aby je zrealizować muszę posiadać sprzęt na biurku do testów :)
@krycha88 To może idąc za ciosem liczników SDM ogarnąć 17 Modbus?
Sprzęt już powinieneś mieć, jak nie to mogę coś podesłać do testów. Niedługo powinno przyjść 10 https://www.aliexpress.com/item/1005001 ... 1802c4crsN jak nie masz SDM, to urządzenie też się jakieś znajdzie :)
Ta funkcjonalność wprowadziłaby Suplę na poziom profesjonalny
kurus
Posty: 1054
Rejestracja: śr sty 15, 2020 8:17 pm

Czy na esp8266 mogę użyć dwóch czujników na magistrali i2c?
Jeden to bme280 drugi to sht30
Pico
Posty: 115
Rejestracja: czw lis 01, 2018 11:00 am

Tak.
Dla każdego z czujników ustawiasz inny adres
kurus
Posty: 1054
Rejestracja: śr sty 15, 2020 8:17 pm

Pico pisze: pn gru 26, 2022 11:05 pm Tak.
Dla każdego z czujników ustawiasz inny adres
Ale podłączam ja pod te same piny? Jak multi w ds18b20?
Awatar użytkownika
Duch__
Posty: 1780
Rejestracja: śr sie 24, 2016 7:26 pm
Lokalizacja: Opole

Tak. Scl do scl, sda do sda.
Obrazek
ODPOWIEDZ

Wróć do „GUI Generic”