supla-device 24.05.02 wydana (także dla Arduino IDE)

User avatar
klew
Posts: 8763
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Dzisiaj została wydana kolejna wersja supla-device 24.05.02 (także dla Arduino IDE).

Najważniejsze zmiany:
- minimalna wymagana (i domyślna) wersja proto to 23. Także jeśli ktoś ma prywatny serwer i nie aktualizował ostatnio, to urządzenia z tą s-d nie będą się łączyć
- przeorganizowałem sposób wysyłania wiadomości rejestrującej urządzenie, co powinno dać niecałe 1 kB więcej wolnego RAM-u na Arduino Mega, oraz około 3 kB :!: na ESP8266 i ESP32.
- dodano obsługę ustawiania domyślnej ikony przy rejestracji kanału:

Code: Select all

  termometr->getChannel()->setDefaultIcon(3);
Wybór domyślnej ikony odbywa się w ramaach zestawu ikon dostępnych do wyboru na Cloud. Podajemy tutaj numer ikony licząc od 0. Ikony wyświetlane w Cloud są w tej samej kolejności.
Ikona jest ustawiana wyłącznie podczas pierwszej rejestracji danego kanału. Należy też pamiętać, o ustawieniu odpowiednio domyślnej funkcji, bo to dla niej jest to ustawienie ikony.
- kanały można tworzyć i przypisywać im dowolną numerację. Do tej pory kanały dostawały numer automatycznie w kolejności tworzenia w kodzie: 0, 1, 2 itd. Teraz można ten numer zmienić na inny metodą Supla::Channel::setChannelNumber(numer) - to raczej opcja dla "zaawansowanych" i jest to przygotowaniem pod pewne nowości, o których więcej będziemy pisać niedługo :)

Pełna lista zmian:
https://github.com/SUPLA/supla-device/b ... 2024-05-31
Widzimy się na Supla Offline Party vol. 2 :!:
User avatar
uchnast.michal
Posts: 1098
Joined: Tue Jun 04, 2019 11:37 am

Post

klew wrote: Fri May 31, 2024 9:23 am - kanały można tworzyć i przypisywać im dowolną numerację. Do tej pory kanały dostawały numer automatycznie w kolejności tworzenia w kodzie: 0, 1, 2 itd. Teraz można ten numer zmienić na inny metodą Supla::Channel::setChannelNumber(numer) - to raczej opcja dla "zaawansowanych" i jest to przygotowaniem pod pewne nowości, o których więcej będziemy pisać niedługo :)
Czy to oznacza, że jeżeli dodam kanał pewnego typu, który domyślnie był na początku to uniknę konfliktu i koniczności ponownej konfiguracji?
e-talking............
Byłem tam - Supla Offline Party 2023
User avatar
klew
Posts: 8763
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

uchnast.michal wrote: Fri May 31, 2024 9:44 am
klew wrote: Fri May 31, 2024 9:23 am - kanały można tworzyć i przypisywać im dowolną numerację. Do tej pory kanały dostawały numer automatycznie w kolejności tworzenia w kodzie: 0, 1, 2 itd. Teraz można ten numer zmienić na inny metodą Supla::Channel::setChannelNumber(numer) - to raczej opcja dla "zaawansowanych" i jest to przygotowaniem pod pewne nowości, o których więcej będziemy pisać niedługo :)
Czy to oznacza, że jeżeli dodam kanał pewnego typu, który domyślnie był na początku to uniknę konfliktu i koniczności ponownej konfiguracji?
W supla-device nie ma takiej zależności. Kanały dostają domyślnie numerację zgodnie z kolejnością utworzenia w kodzie danego "elementu".
Także pewnie piszesz o GuiGeneric, gdzie dane typy (np. termometry, przekaźniki) są tworzone grupami i jeśli dodasz jeden termometr, to wszystko co było "za nim" się przesuwa o +1.
Ta zmiana w tej kwestii niewiele pomoże. Ogólnie, aby nie dochodziło do konfliku kanałów przy dodawaniu nowych kanałów, to "wystarczy", aby konfiguracja urządzenia zapamiętywała każdy kanał osobno i przechowywała sobie ich listę. Wtedy każdy nowy kanał mógłby być dodany na końcu listy. To da się zrobić (i też dało się zrobić we wcześniejszych wersjach), ale wymaga mocnego przebudowania całego GG.
Widzimy się na Supla Offline Party vol. 2 :!:
vajera
Posts: 448
Joined: Wed Oct 31, 2018 7:58 am

Post

klew wrote: Fri May 31, 2024 9:23 am
- kanały można tworzyć i przypisywać im dowolną numerację. Do tej pory kanały dostawały numer automatycznie w kolejności tworzenia w kodzie: 0, 1, 2 itd. Teraz można ten numer zmienić na inny metodą Supla::Channel::setChannelNumber(numer) - to raczej opcja dla "zaawansowanych" i jest to przygotowaniem pod pewne nowości, o których więcej będziemy pisać niedługo :)
Rozumiem, że:

1. setChannelNumber musi zostać wywołane przed SuplaDevice.begin(); ?

2. czy numeracja musi być ciągła? czy mogę np. zostawić "dziury" w celu zbudowania rezerwy na przyszłość?
Czy to i tak nic nie da bo jak będę miał kanał "8" i następny "10" a za miesiąc dodam "9" to i tak wywoła to "channel conflict"?
User avatar
klew
Posts: 8763
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

vajera wrote: Fri May 31, 2024 11:06 am 1. setChannelNumber musi zostać wywołane przed SuplaDevice.begin(); ?
2. czy numeracja musi być ciągła? czy mogę np. zostawić "dziury" w celu zbudowania rezerwy na przyszłość?
Czy to i tak nic nie da bo jak będę miał kanał "8" i następny "10" a za miesiąc dodam "9" to i tak wywoła to "channel conflict"?
ad 1 - to zależy. Ogólnie musi być ustawione przed rejestracją, która ruszy gdzieś w "iterate". SuplaDevice też nadal ma wiele rzeczy zależnych od kolejności tworzenia elementów - np. Storage na tym polega i o ile stan przekaźnika nie jest zbyt istotny, to już stan licznika impulsów lub licznika energi elektrycznej może być ważniejszy :)

ad.2 - nie musi być ciągła i nie ma znaczenia kolejność. Można sobie zarejestrować kanały: 10, 5, 8.
Można też po czasie dodać kanały (dodawanie nie powoduje konfliktu), ale oczywiście trzeba użyć numerów kanałów, które nie były wcześniej używane.
Widzimy się na Supla Offline Party vol. 2 :!:
zzrr
Posts: 429
Joined: Wed Oct 26, 2022 7:35 pm

Post

Nie nadążam zmieniać :D 8-)

@klew a gdzieś po drodze przypadkiem nie nastąpiła może jakaś zmiana w kwestii przestawienia odwróconej logiki dla VirtualBinary z poziomu kodu?

Return to “supla-dev”