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

User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

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
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

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?
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

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.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
vajera
Posts: 7293
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 291 times
Been thanked: 161 times

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"?
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

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.
Najlepsze suple dla Twojego domu :mrgreen:
zzrr
Posts: 1864
Joined: Wed Oct 26, 2022 7:35 pm
Has thanked: 76 times
Been thanked: 119 times

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”