Aktualizacja SuplaDevice

cino111
Posts: 714
Joined: Mon May 07, 2018 8:00 pm

Post

Ok, jestem po testach choć nie wiem czy dobrą wersję ściągnąłem bo przekaźniki nie trzymają stanu w cloudzie po zerwaniu połączenia (a wcześniej to działało). Ściągnąłem to https://github.com/klew/arduino/tree/ma ... uplaDevice
Widzę, że połączyłeś wersjęz licznikami i DHT i może jakiś plik się podmienił.
No, ale do rzeczy:
Liczniki impulsów działają - można dodać dowolną ilość liczników (poproszę jeszcze tylko o możliwy reset stanu licznika)
Czujnik temperatury i wilgotności DHT22 - można dodać dowolną ilość - działa bez zastrzeżeń
Sensors - można dodać dowolną ilość - działa bez zastrzeżeń
Przekaźnik - tak jak wyżej opisałem - pewnie jakieś niedopatrzenie @klew zerknij proszę lub podaj ścieżkę skąd powinienem pobrać bibliotekę.
Roleta - można dodać, ale nie działa. Chyba jeszcze nie jest oprogramowana. Jeżeli można prosić to też wrzuć na listę do zrobienia. Ja osobiście tym steruję elektrozawory.

PS. Jak tam prace nad przyciskiem do przekaźnika :?: Oczywiście bistabilny i monostabilny od wyboru :D

Podsumowując - Genialna robota :!: :!: :mrgreen:
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

cino111 wrote: Sat Nov 02, 2019 8:55 pm Ok, jestem po testach choć nie wiem czy dobrą wersję ściągnąłem bo przekaźniki nie trzymają stanu w cloudzie po zerwaniu połączenia (a
Muszę zrobić porządek na tych branchach ;). Wziąłeś starą wersję - tzn. to co kiedyś zacząłem z licznikiem i DHT. Potem zacząłem od początku pisać na branchu develop. Tam jest poprawka na pamiętanie stanu przekaźnika i kilka innych rzeczy. Killa dni temu wrzuciłem tam kod licznika impulsów (ale DHT jeszcze nie). Aktualnie trochę przerzuciłem pliki, aby trochę więcej porządku było i poprawiłem kompilację na ESP8266 (mam pod ręką stergo Wemosa D1 i na nim sprawdzam).

Biblioteka będzie cała przeorana na nowo, tylko proszę o cierpliwość. Siadam do tego z reguły na 1-2 h po 23 ;).
Najlepsze suple dla Twojego domu :mrgreen:
cino111
Posts: 714
Joined: Mon May 07, 2018 8:00 pm

Post

Ok, no to czekam na info kiedy można zaczać pobierać i skąd .
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

cino111 wrote: Sat Nov 02, 2019 9:55 pm Ok, no to czekam na info kiedy można zaczać pobierać i skąd .
Aktualnie na: https://github.com/klew/arduino/tree/develop
Najlepsze suple dla Twojego domu :mrgreen:
cino111
Posts: 714
Joined: Mon May 07, 2018 8:00 pm

Post

Ok. Myślałem że w tym co pobrałem biblioteki są połączone :) Na tej co wskazujesz nie ma obsługi DHT22. Dodatkowo na obydwu wersjach po resecie Arduino licznik się zeruje.
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

cino111 wrote: Sun Nov 03, 2019 7:44 am Ok. Myślałem że w tym co pobrałem biblioteki są połączone :) Na tej co wskazujesz nie ma obsługi DHT22. Dodatkowo na obydwu wersjach po resecie Arduino licznik się zeruje.
Licznik jest zapisywany do EEPROM co jakiś czas (aktualnie raz na 60 s). Także jeśli resetujesz szybciej, to się nie zapisze ;P.
Poczekaj z resetem, aż zobaczysz "Impulse counter: EEPROM update" na Serial. Wtedy można resetować.
Idea jest taka, że utrata napięcia powinna zdarzać się rzadko. Więc utrata pomiarów z 1 (lub kilku) minut, nie ma większego znaczenia. W zamian nasz EEPROM może pożyje 1-3 lat.
Docelowo ten zapis miał być jeszcze rzadszy, albo zrobię to jako parametr konfiguracyjny - wtedy każdy zdecyduje jak bardzo chce go eksploatować.
Bibioteka będzie też miała wsparcie dla EEPROM i FRAM (do wyboru). Wtedy na FRAM będzie można pisać do woli bez ryzyka uszkodzenia pamięci.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Liczniki możesz sobie wyczyścić wołając:

Code: Select all

SuplaImpulseCounter::clearStorage();
Możesz też użyć metody setCounter() aby ustawić jakąś wartość na konkretnych licznikach i potem zawołać writeToStorage(). Tylko to trzeba zrobić na oddzielnych kompilacjach - a potem zastąpić to właściwym programem.
Metodę "setCounter" wołasz na konkretnym obiekcie licznika, natomiast clearStorage i writeToStorage nie są związane z konrketną instancją licznika.
Najlepsze suple dla Twojego domu :mrgreen:
cino111
Posts: 714
Joined: Mon May 07, 2018 8:00 pm

Post

oki. Wydawało mi się, że czekałem kilka minut przed resetem Arduino, ale może się mylę. Docelowo tak jak piszesz - zapis może być nawet co 5min, choć znajdą się tacy gdzie będzie potrzeba zapisywania co parę sekund, ale to już chyba do framu.
SuplaImpulseCounter::clearStorage(); zresetuje stan wszystkich liczników, czy można wybrać który ma być zresetowany?
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

cino111 wrote: Mon Nov 04, 2019 12:40 pm oki. Wydawało mi się, że czekałem kilka minut przed resetem Arduino, ale może się mylę. Docelowo tak jak piszesz - zapis może być nawet co 5min, choć znajdą się tacy gdzie będzie potrzeba zapisywania co parę sekund, ale to już chyba do framu.
SuplaImpulseCounter::clearStorage(); zresetuje stan wszystkich liczników, czy można wybrać który ma być zresetowany?
Ta metoda resetuje wszystkie.
Jeśli chcesz pojedynczo to używaj "setCounter" i "writeToStorage"
Najlepsze suple dla Twojego domu :mrgreen:
QLQ
Posts: 2512
Joined: Sun Sep 03, 2017 9:13 am

Post

Wszyscy o tym nie wiedzą ale w proto.h są jeszcze czujniki:
sam czujnik wilgotności

Code: Select all

#define SUPLA_CHANNELTYPE_HUMIDITYSENSOR 3036 // ver. >= 8
oraz
STACJA POGODY:

Code: Select all

#define SUPLA_CHANNELTYPE_WEATHER_STATION 3100 // ver. >= 8
wygląda tak :
Clip.jpg
Wilgotność w Apce wyświetla się prawidłowo ale Stacja Pogody już nie - występuje tylko sam kod 290 (podobnie było z czujnikiem ciśnienia, który w apce Supla∞ dorobił @leśny8). Dodatkowo nie wiem co ma być przesyłane w tym kanale WEATHER_STATION( czy podobnie jak?:

Code: Select all

get_temperature_and_humidity(int channelNumber, double *temp, double *humidity)
)

I jeszcze jedno - co to za kanały?:

Code: Select all

#define SUPLA_CHANNELTYPE_RELAYHFD4 2000
#define SUPLA_CHANNELTYPE_RELAYG5LA1A 2010
#define SUPLA_CHANNELTYPE_2XRELAYG5LA1A 2020

Załączam jeszcze te kanały w SuplaDevice bo nie ogarniam jak na razie GitHub'a - na PC mam jeszcze XP i GH nie chce mi się prawidłowo wczytywać :(
SuplaDeviceALL.rar
A i to brzmi ciekawie:

Code: Select all

#define SUPLA_CHANNELFNC_CONTROLLINGTHEDOORLOCK 90

Code: Select all

#define SUPLA_CHANNELFNC_RING 150
#define SUPLA_CHANNELFNC_ALARM 160
You do not have the required permissions to view the files attached to this post.
jak coś nie działa to włącz zasilanie.....

Return to “Arduino IDE”