Code: Select all
void status_func(int status, const char *msg) { // ------------------------ Status --------------------------
s = status;
}Code: Select all
void status_func(int status, const char *msg) { // ------------------------ Status --------------------------
s = status;
}No tak, u mnie też to działało, ale tak jak napisałem, po aktualizacji biblioteki pojawił się problem. Statusy są przekazywane na serial i zastanawiam się jak mogę je przekazać do zmiennej globalnej, nie używając:elmaya wrote: Sat Dec 14, 2019 6:00 pm it works fine for me
Code: Select all
void status_func(int status, const char *msg) { // ------------------------ Status -------------------------- s = status; }
Code: Select all
SuplaDevice.setStatusFuncImpl(&status_func);Code: Select all
if (S != s){
S = s;
Serial.print("status:");
Serial.println(s);
}Tego fragmentu kodu chyba jeszcze nie ruszałem, więc powinno działać jak na master.lukfud wrote: Sat Dec 14, 2019 4:46 pm Jak mogę wyciągnąć kod statusu do zmiennej.
Na bibliotece master używałem:Po zmienianie na develop użycie tej funkcji powoduje rozłączanie się esp od serwera (sonoff basic czy esp-01s), albo wariuje reakcja na zmianę stanów - z opóźnieniem albo w ogóle nie przełącza.Code: Select all
SuplaDevice.setStatusFuncImpl(&status_func); void status_func(int status, const char *msg) { }
po usunięciu tej linii z kodu stabilizuje się.Code: Select all
SuplaDevice.setStatusFuncImpl(&status_func);
Niestety to też nie działa poprawnie, a na timerach się jeszcze nie znam.elmaya wrote: Sat Dec 14, 2019 6:53 pm transfers only if the status changes.
or use a timer to send from time to timeCode: Select all
if (S != s){ S = s; Serial.print("status:"); Serial.println(s); }
Wyświetlałem status i aktualizowałem stany przekaźników po utracie połączenia. Mam też kilka sekwencji migania diody w zależności od kodu statusu, dlatego potrzebowałem przypisania do zmiennej.
Code: Select all
void status_func(int status, const char *msg) {
sNumber = status;
Serial.print("Kod - ");
Serial.print(sNumber);
Serial.print(", ");
Serial.println(msg);
if (sNumber == 17) {
SuplaDevice.channelValueChanged(0, digitalRead(relay_pin));
/*SuplaDevice.channelValueChanged(1, digitalRead(4));
SuplaDevice.channelValueChanged(2, digitalRead(5));
SuplaDevice.channelValueChanged(3, digitalRead(9));
SuplaDevice.channelValueChanged(4, digitalRead(10));
SuplaDevice.channelValueChanged(5, digitalRead(12));
SuplaDevice.channelValueChanged(6, digitalRead(14));
SuplaDevice.channelValueChanged(7, digitalRead(14));
SuplaDevice.channelValueChanged(8, digitalRead(16));*/
}
}Code: Select all
SuplaDevice.setStatusFuncImpl(&status_func);Code: Select all
void status_func(int status, const char *msg) {
sNumber = status; }Code: Select all
void status_func(int status, const char *msg) {
sNumber = status;
Serial.print("Kod - ");
Serial.print(sNumber);
Serial.print(", ");
Serial.println(msg); }Kompiluję swój program który na poprzednim rodzaju "logowania" i poprzedniej bibliotece działa bez przeszkód. Wstawiłem także nowy GUID sądząc, że to pomoże ale jest bez zmian.klew wrote: Fri Dec 13, 2019 8:27 pmAuthkey zapisuje serwer przy pierwszym prowadzeniu urządzenia o danym guid i przypisuje do konta powiązanego z podanym adresem mail.andrew01 wrote: Fri Dec 13, 2019 7:52 pm Mam mały kłopot, pobrałem najnowszą bibliotekę gdzie autoryzacja jest już przy pomocy AuthKey ale czegoś tu nie rozumiem, czy po stronie cloud'a trzeba ten klucz gdzieś wpisać (gdzie? zamiast hasła przy identyfikatorze dostępu?) Pytam, ponieważ na razie nie mogę się połączyć:
Kompilujesz jakiś przekład czy swój program?
Wklej tutaj kod, albo na privandrew01 wrote: Sat Dec 14, 2019 9:02 pmKompiluję swój program który na poprzednim rodzaju "logowania" i poprzedniej bibliotece działa bez przeszkód. Wstawiłem także nowy GUID sądząc, że to pomoże ale jest bez zmian.klew wrote: Fri Dec 13, 2019 8:27 pmAuthkey zapisuje serwer przy pierwszym prowadzeniu urządzenia o danym guid i przypisuje do konta powiązanego z podanym adresem mail.andrew01 wrote: Fri Dec 13, 2019 7:52 pm Mam mały kłopot, pobrałem najnowszą bibliotekę gdzie autoryzacja jest już przy pomocy AuthKey ale czegoś tu nie rozumiem, czy po stronie cloud'a trzeba ten klucz gdzieś wpisać (gdzie? zamiast hasła przy identyfikatorze dostępu?) Pytam, ponieważ na razie nie mogę się połączyć:
Kompilujesz jakiś przekład czy swój program?