Aktualizacja SuplaDevice
-
- Posts: 1484
- Joined: Wed Jun 27, 2018 5:48 pm
- Location: El Saucejo - Sevilla
you have to use: arduino esp8266 core 2.6.3
-
- Posts: 1484
- Joined: Wed Jun 27, 2018 5:48 pm
- Location: El Saucejo - Sevilla
Test adding "delay (50);" after "SuplaDevice.iterate ();" in the main loop.
Code: Select all
void loop() {
SuplaDevice.iterate();
delay(50);
}
-
- Posts: 26
- Joined: Wed Sep 25, 2019 7:29 am
- Location: Wrocław
Mam pytanie jak w nowej bibliotece przywróć status przekaźników po restarcie/utracie połączenia?
Teraz mam:
i
Jak używam własnego callback'a w starej wersji to nie wyświetla mi statusów przy połączeniu itp. Jak to zrobić porządnie w nowej, aby było przywrócenie stanów i jednocześnie statusy?
Teraz mam:
Code: Select all
SuplaDevice.setStatusFuncImpl(&status_func);
Code: Select all
void status_func(int status, const char *msg) {
if (status == 17) {
Serial.println("status_func - start");
Serial.print("GLOBAL_STATE -> ");
Serial.println(GLOBAL_STATE);
SuplaDevice.channelValueChanged(0, GLOBAL_STATE);
if (activeSection) {
Serial.print("activeSection -> ");
Serial.println(activeSection + 1);
SuplaDevice.channelValueChanged(activeSection + 1, 1);
}
Serial.println("status_func - stop");
}
}
-
- Posts: 10457
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Statusy jeszcze będą przepisywane.
Ten callback raczej służy do napisania własnej metody obsługującej status. Podpinanie tam zmiany stanów przekaźników jest mało eleganckie.
Do biblioteki będzie dodane zapamiętywanie stanu i możliwość przywrócenia stanu przekaźnika pi resecie
Ten callback raczej służy do napisania własnej metody obsługującej status. Podpinanie tam zmiany stanów przekaźników jest mało eleganckie.
Do biblioteki będzie dodane zapamiętywanie stanu i możliwość przywrócenia stanu przekaźnika pi resecie
-
- Posts: 1
- Joined: Wed May 27, 2020 1:53 am
Witam
Jak skompilować kod Supli dla ESP32?
Na str. 26 było już zapytanie o błąd -mam taki sam:
Dla wersji 1.0.4 bibliotek ESP32 jest taki sam błąd ;(
PS. Dla pobierania wartości odczytu z czujników może dopisać do bibliotek sensorów w classach by uniknąć odczytywania bezpośrednio wartości by je wykorzystać w kodzie do sterowania czy też wyświetlania wyników na stronie www:
Najprościej dla pojedynczych wartości z odczytów z czujników:
i w części protected dopisać:
a gdy w części double getValue() nie ma zapisu to uzupełnić:
Wówczas możemy łatwo pobrać dane ostatniego pomiaru:
oczywiście wcześniej w setupie dodawania sensorów do Supli przypisujemy zmienna:
wykorzystujac wlasne przedefiniowanie klasy :
lub
wykorzystując bibliotekę sensors:

Jak skompilować kod Supli dla ESP32?
Na str. 26 było już zapytanie o błąd -mam taki sam:
Code: Select all
SuplaDevice_klew\src\supla\timer.cpp:74:19: error: reference to 'esp_timer' is ambiguous
timerAlarmWrite(esp_timer, 10 * 1000, false); // set time in us
In file included from C:\Users\Rysza\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.3/tools/sdk/include/freertos/freertos/portmacro.h:82:0,
from C:\Users\Rysza\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.3/tools/sdk/include/freertos/freertos/portable.h:94,
from C:\Users\Rysza\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.3/tools/sdk/include/freertos/freertos/FreeRTOS.h:105,
from C:\Users\Rysza\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.3\cores\esp32/Arduino.h:32,
from C:\Users\Rysza\Documents\Arduino\libraries\SuplaDevice_klew\src\supla\timer.cpp:17:
C:\Users\Rysza\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.3/tools/sdk/include/esp32/esp_timer.h:53:16: note: candidates are: struct esp_timer
typedef struct esp_timer* esp_timer_handle_t;
PS. Dla pobierania wartości odczytu z czujników może dopisać do bibliotek sensorów w classach by uniknąć odczytywania bezpośrednio wartości by je wykorzystać w kodzie do sterowania czy też wyświetlania wyników na stronie www:
Najprościej dla pojedynczych wartości z odczytów z czujników:
Code: Select all
double getlast() {
return lastValidValue;
}
Code: Select all
double lastValidValue;
Code: Select all
lastValidValue = wartość z odczytu czujnika
Wówczas możemy łatwo pobrać dane ostatniego pomiaru:
Code: Select all
pomiar=bmTempS->getlast();
wykorzystujac wlasne przedefiniowanie klasy :
Code: Select all
bmTempS = new bmTemp();
lub
wykorzystując bibliotekę sensors:
Code: Select all
coThermometerS = new Supla::Sensor::DS18B20(ONE_WIRE_BUS, sts[0].ssn);

-
- Posts: 10457
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Dzięki za przypomnienie. Chyba była jakaś zmiana w sofcie do obsługi płytek i nam się nazwa zduplikowała.rysiulg wrote: Wed May 27, 2020 2:02 am Witam
Jak skompilować kod Supli dla ESP32?
Na str. 26 było już zapytanie o błąd -mam taki sam:
Zmieniłem nazwy zmiennych w bibliotece i teraz już się kompiluje poprawnie.
Odczyt wartości obiektów z biblioteki będę dorabiał, dzięki za podpowiedzi.
-
- Posts: 2305
- Joined: Thu Nov 23, 2017 11:33 pm
- Location: Warszawa
@klew,
Przy RS na kanale 0, do pliku zapisuje channelNumber = 1.
Tak ma być?
Przy RS na kanale 0, do pliku zapisuje channelNumber = 1.
Tak ma być?
https://www.facebook.com/groups/supladiy/
-
- Posts: 2305
- Joined: Thu Nov 23, 2017 11:33 pm
- Location: Warszawa
Wybacz skróty. RollerShutter i funkcja:
Code: Select all
supla_rs_SavePosition(int channelNumber, int position)
Code: Select all
void supla_rs_SavePosition(int channelNumber, int position) {
File rs_file_write = SPIFFS.open("/rs_settings.txt", "w");
if (!rs_file_write) {
Serial.println("# Error opening file for writing");
return;
}
Serial.print("# File was written: ");
Serial.println(rs_file_write.print(channelNumber));
rs_file_write.close();
}
https://www.facebook.com/groups/supladiy/