MQTT, zapis do EEPROM i kilka innych

crisper1
Posts: 4
Joined: Sun Nov 19, 2023 9:46 pm

Post

Cześć!
Mam kilka szybkich pytań odnośnie oprogramowania wgrywanego na ROW-2, MEW-1 i te z GUI-Generic dla Sonoff Mini r2, Dual R3 i Gosund SP111. Nurtuje mnie temat potrzeby zapisywania stanu sprzętu w EEPROMie. Na forach przewijają się informacje o zapisie co 3 lub 5 minut. Zasadnicze pytanie jest takie, po co w ogóle w pętli pisać np. stan przekaźnika? Co to ma na celu i kiedy dokładnie dzieje się zapis? Chciałbym być eko dla środowiska i dla budżetu, jeżeli mogę coś zoptymalizować pod swoje potrzeby - cieżko pogodzić mi się z faktem, że urządzenie za 50 zł / 150 zł w przypadku Zamela za 1 do 1.5 roku ma trafić na śmietnik.
  • Czy w zależności od modelu czasy zapisu stanów różnią się?
  • Czy któreś modele mają dłuższą żywotność niż 100 000 zapisów lub są takie, które tego limitu w ogóle nie mają?
  • Czy w przypadku urządzeń z przekaźnikami wybranie opcji dotyczącej przewrócenia ostatniego stanu na "nie" powoduje, że stan nie jest pisany? (w zasadzie to nie ma zbytnio sensu pisanie, że przekaźnik był uruchomiony, skoro po restarcie ma i tak go nie uruchamiać)
  • Czy do produktów Zamel można wgrać bezproblemowo alternatywny soft? Chodzi przede wszystkim o MEW-1. ROW-2 po prostu mogę zastąpić czymś innym.
Martwi mnie stan MEW-1, sporo informacji jest tam zbieranych, sprzęt nie jest tani. W zasadzie to nie potrzebuję, by urządzenie pisało swoje wartości do EEPROMu, bo równie dobrze mogłoby odpytać serwer o ostatni zapisany stan (po restarcie), a ten mógłby się aktualizować przez zmiany rozsyłane przez MQTT. To samo tyczy Gosundów SP111. To nie są urządzenia laboratoryjne, jakieś tam rozbieżnośći są akceptowalne, zaniki prądu praktycznie się nie zdarzają.

Dzięki za pomoc!
Last edited by crisper1 on Mon Nov 20, 2023 2:35 pm, edited 1 time in total.
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

crisper1 wrote: Sun Nov 19, 2023 10:15 pm Chciałbym być eko dla środowiska i dla budżetu, jeżeli mogę coś zoptymalizować pod swoje potrzeby - cieżko pogodzić mi się z faktem, że urządzenie za 50 zł / 150 zł w przypadku Zamela za 1 do 1.5 roku ma trafić na śmietnik.
Skąd takie założenie ?
crisper1 wrote: Sun Nov 19, 2023 10:15 pm [*]Czy w zależności od modelu czasy zapisu stanów różnią się?
Tak
crisper1 wrote: Sun Nov 19, 2023 10:15 pm [*]Czy któreś modele mają dłuższą żywotność niż 100 000 zapisów lub są takie, które tego limitu w ogóle nie mają?
Niektóre modele np. MEW mają dedykowaną pamięć na potrzeby zapisu stanu. Jest to pamięć gdzie nawet przy zapisie co 1 sekundę, żywotność tych układów wynosi 300 lat.
crisper1 wrote: Sun Nov 19, 2023 10:15 pm [*]Czy w przypadku urządzeń z przekaźnikami wybranie opcji dotyczącej przewrócenia ostatniego stanu na "nie" powoduje, że stan nie jest pisany? (w zasadzie to nie ma zbytnio sensu pisanie, że przekaźnik był uruchomiony, skoro po restarcie ma i tak go nie uruchamiać)
W komercyjnych urządzeniach stan zawsze jest przywracany i wynika to z CE. Zmiana stanu przekaźnika po kilku sekundach zawsze jest zapisywana. Serie zmian skutkują jednym zapisem.
crisper1 wrote: Sun Nov 19, 2023 10:15 pm [*] Czy do produktów Zamel można wgrać bezproblemowo alternatywny soft? Chodzi przedewszystkim o MEW-1. ROW-2 po prostu mogę zastąpić czymś innym.
Możesz ale stracisz gwarancję. Ponadto musisz oprogramować układy peryferyjne, a w przypadku MEW-a dodatkowo skalibrować urządzenie. Osiągnięcie precyzji jaką oferuje producent wymaga zakupu specjalistycznego sprzętu który kosztuje kilkadziesiąt tysięcy zł.
crisper1 wrote: Sun Nov 19, 2023 10:15 pm Martwi mnie stan MEW-1.
Niepotrzebnie.
crisper1 wrote: Sun Nov 19, 2023 10:15 pm W zasadzie to nie potrzebuję, by urządzenie pisało swoje wartości do EEPROMu,
To dobrze, że nie potrzebujesz bo MEW nie zapisuje pomiarów do EEPROMu.
crisper1 wrote: Sun Nov 19, 2023 10:15 pm bo równie dobrze mogłoby odpytać serwer o ostatni zapisany stan (po restarcie), a ten mógłby się aktualizować przez zmiany rozsyłane przez MQTT.
Urządzenie może się zrestartować nie mając dostępu do serwera i co wtedy ?
SUPLA.... Nareszcie w domu.
crisper1
Posts: 4
Joined: Sun Nov 19, 2023 9:46 pm

Post

Dziękuję za odpowiedz! <beer>
pzygmunt wrote: Mon Nov 20, 2023 8:12 am
crisper1 wrote: Sun Nov 19, 2023 10:15 pm Chciałbym być eko dla środowiska i dla budżetu, jeżeli mogę coś zoptymalizować pod swoje potrzeby - cieżko pogodzić mi się z faktem, że urządzenie za 50 zł / 150 zł w przypadku Zamela za 1 do 1.5 roku ma trafić na śmietnik.
Skąd takie założenie ?
Zasadniczo to z niewiedzy. Strzępki informacji z różnych tematów. 100000 co 5 minut, za 500 000 minut wysiądzie. 347,2 dnia.
Urządzenie może się zrestartować nie mając dostępu do serwera i co wtedy ?
Wszystko zależy od typu urządzenia i jego przeznaczenia. W moim przypadku chodzi o "pipki" do sterownia oświetleniem i kontaktami. Przywrócenie stanu natychmiast po uruchomieniu w moim (!) przypadku nie jest istotne. Stan przełącznika można pisać do pamięci tylko wtedy, gdy się zmienił, bez potrzeby potwierdzania co kilka minut. Nie mam przypadku, by w ciągu 5 minut następowało kilkukrotne przełączenie, które mogłoby doporowadzić do nadmiernego zapisu (to wszystko z perspektywy laika - próbuję sobie to po prostu wyobrazić).

Dla urządzeń z pomiarem, jeżeli nastąpi uruchomienie przekaźnika i występuje pobór prądu:
Urządzenie restartuje się i nie ma dostępu do serwera. Wie, że nie ma dostępu do serwera. Pisze sobie aktualne pomiary do pamięci nieulotnej.
Rozwinięcie: restartuje się jeszcze raz. Patrzy, że było ostatnio w stanie offline i jeżeli dalej jest offline, pisze sobie dalej do pamięci nieulotnej.
Nawiązuje połączenie do serwera, pobiera ostatni zapisany aktualny licznik + dodaje to co zliczyło i notyfikuje serwer o aktualnym stanie. Podobnie jak obecnie, powstała w trybie offline różnica jest rozbijana równomiernie na przewidziane okresy zliczania.
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

Urządzenia raczej nigdzie nie piszą do pamięci "co 5 min". Zapis do flasha jest zawsze realizowany w taki sposób, że co "5" min jest próba zapisu, ale faktyczny zapis jest tylko wtedy, gdy dane się różnią. Jeśli się nic nie zmieniło, to flash nie jest ruszany.
Najlepsze suple dla Twojego domu :mrgreen:
crisper1
Posts: 4
Joined: Sun Nov 19, 2023 9:46 pm

Post

OK, a co znaczy "gdy dane się różnią" ? Chodzi mi o rozróżnienie np. ROW-2, bez pomiaru prądu vs. urządzenie z miernikiem np. Gosund SP111. W ROW-2 rozumiem, że to dane wprowadzone w GUI + stan przekaźnika. Dla pozostałych jak mniemam trzeba by zerknąć dokładnie w kod, co "autor" cyklicznie chce zapisywać?
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

crisper1 wrote: Mon Nov 20, 2023 11:14 am OK, a co znaczy "gdy dane się różnią" ? Chodzi mi o rozróżnienie np. ROW-2, bez pomiaru prądu vs. urządzenie z miernikiem np. Gosund SP111. W ROW-2 rozumiem, że to dane wprowadzone w GUI + stan przekaźnika. Dla pozostałych jak mniemam trzeba by zerknąć dokładnie w kod, co "autor" cyklicznie chce zapisywać?
W ROW-02 jedyne dane dotyczące "stanu" urządzenia, to ustawienie przekaźnika na ON lub OFF. Ale tam zapis jest jeszcze inaczej robiony i on jest po prostu zawsze kilka sekund po zmianie stanu przekaźnika. Czyli nie ma cyklicznego "co 5 min" sprawdzania niczego.

W urządzeniach opartych o nową supla-device (czyli także urządzenia na sofcie GG), zapis jest trochę inaczej robiony. Tam jest próba zapisu co "x min/sekund" i jest sprawdzane, czy stan się zmienił.
Największy problem jest z licznikami energii/wody/itp, bo tam "stan licznika" zmiania się prawie cały czas, i wszystko to musi być zapisywane do flasha co jakiś czas. Domyślnie tam jest chyba co 10 min.
Dodatkowo niektóre zmiany (np. przełącznie przekaźnika) generują dodatkowy zapis kilka sekund po zmianie.

Ale nie ma tutaj jednej odpowiedzi. Każde urządzenie może to mieć inaczej zaimplementowane. Ogólnie we wszystkich gotowych urządzeniach z Suplą na pokładzie (np. od Zamela) temat jest ogarnięty tak, aby 20 lat pracy nie było problemem. Chyba, że ktoś będzie cyklicznie cykał ROW-em co 10 s, to wtedy może być problem dużo szybciej. Ale mam na myśli normalną pracę.
Natomaist wszystkie gotowe urządzenia z licznikami, mają dodatkowe kości z pamięcią, której trwałość jest dużo większa niż flasha, albo są zastosowane metody "wear-leveling", które cyklicznie zapisują w różnych obszarach pamięci, tak aby wydłużyć spodziewaną żywotność układu do kilkuset lat albo więcej.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

klew wrote: Mon Nov 20, 2023 11:32 am Natomaist wszystkie gotowe urządzenia z licznikami, mają dodatkowe kości z pamięcią, której trwałość jest dużo większa niż flasha, albo są zastosowane metody "wear-leveling", które cyklicznie zapisują w różnych obszarach pamięci, tak aby wydłużyć spodziewaną żywotność układu do kilkuset lat albo więcej.
Doprecyzowując - wszystkie gotowe urządzenia wyprodukowane z Suplą na pokładzie. Nie dotyczy to np. gotowego GOSUND.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

crisper1 wrote: Mon Nov 20, 2023 11:14 am Dla pozostałych jak mniemam trzeba by zerknąć dokładnie w kod, co "autor" cyklicznie chce zapisywać?
Tak.
W urządzeniach z pomiarem energii np. SP111 zapis jest robiony cyklicznie, tylko wtedy, kiedy włączony jest przekaźnik.
W GG ten czas jest wpisany na stałe, w mojej kompilacji każdy może sobie wpisać dowolny. Osobiście ustawiam na 30 min.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
YoMan
Posts: 3521
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa
Has thanked: 3 times
Been thanked: 3 times

Post

Robert Błaszczak wrote: Mon Nov 20, 2023 11:38 am
klew wrote: Mon Nov 20, 2023 11:32 am Natomaist wszystkie gotowe urządzenia z licznikami, mają dodatkowe kości z pamięcią, której trwałość jest dużo większa niż flasha, albo są zastosowane metody "wear-leveling", które cyklicznie zapisują w różnych obszarach pamięci, tak aby wydłużyć spodziewaną żywotność układu do kilkuset lat albo więcej.
Doprecyzowując - wszystkie gotowe urządzenia wyprodukowane z Suplą na pokładzie. Nie dotyczy to np. gotowego GOSUND.
A tak z ciekawości Robert nie wiesz jak to w Gosundach zrobili? Niby zasada podobna (cloud, zapis do serwera co x). Co prawda nie spodziewam się, żeby chińczyk dokładał dodatkowe pamięci ale .... może? Czy po prostu do pamięci esp aż padnie? To pewnie wyjdzie max 2-3 lata. Chyba jednak dla ciągłości pomiarów zrobię zrzuty konfiguracji GG z GUIDem
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

Nie wiem. Nie miałem tych gniazdek nawet w ręku.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl

Return to “Ogólna dyskusja”