Pytania techniczne dotyczące kodu [bramka ZigBee]

Moderator: vajera

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

Post

vajera wrote: Tue Apr 22, 2025 9:47 pm Jeszcze jedno:

Code: Select all

Supla_Z2S_HvacBase->setButtonTemperatureStep(50);
Czy to nie powinno spowodować, że (-) i (+) w aplikacji będą zmieniać setpoint o 0,5 st. C?
Nie, to jest do fizycznych przycisków w urządzeniu.
Nie da się zmienić kroku w apce.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

vajera wrote: Tue Apr 22, 2025 5:15 pm , ale pomimo tej linii:

Code: Select all

Supla_Z2S_HvacBase->setTemperatureRoomMax(3000); //hvac_room_temperature_max);
termostat nadal wyświetle 40 st. C?
To jest niestety trochę skomplikowane.
Ogólnie termostat w trakcie inicjalizacji (onInit) i ustawiania funkcji, czyści te "room max/min" i kilka innych i przywraca domyślne dla danej funkcji.
Wynika to z tego, że termostat może mieć różne zakresy dla różnych funkcji.

Użyj tych metod:

Code: Select all

void HvacBase::setDefaultTemperatureRoomMin(int32_t channelFunction,
    _supla_int16_t temperature);
Tylko trzeba je ustawić dla każdej wspieranej funkcji przez termostat (SUPLA_CHANNELFNC_.... )
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
vajera
Posts: 7287
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

klew wrote: Wed Apr 23, 2025 7:23 am To jest niestety trochę skomplikowane.
Ogólnie termostat w trakcie inicjalizacji (onInit) i ustawiania funkcji, czyści te "room max/min" i kilka innych i przywraca domyślne dla danej funkcji.
Wynika to z tego, że termostat może mieć różne zakresy dla różnych funkcji.

Użyj tych metod:

Code: Select all

void HvacBase::setDefaultTemperatureRoomMin(int32_t channelFunction,
    _supla_int16_t temperature);
Tylko trzeba je ustawić dla każdej wspieranej funkcji przez termostat (SUPLA_CHANNELFNC_.... )
Dzięki, wypróbuję!
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
vajera
Posts: 7287
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

klew wrote: Wed Apr 23, 2025 7:19 am Nie, to jest do fizycznych przycisków w urządzeniu.
Nie da się zmienić kroku w apce.
Rozumiem, to się i tak koryguje samoczynnie po chwili jak głowica odeśle rzeczywistą wartość, ale myślałem, że może to ogarniemy systemowo.
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
vajera
Posts: 7287
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

@klew Mam (dwa) trzy pytania ;)
  1. Funkcja Supla::Notification::RegisterNotification(int16_t context, bool titleSetByDevice = true, bool messageSetByDevice = true, bool soundSetByDevice = false) działa "jednorazowo", tzn. jej kolejne wywołania ze zmienionym parametrem titleSetByDevice lub messageSetByDevice nie zmieniają już ustawień w obrębie serwera Supla - konieczne jest usunięcie kanału i jego ponowne dodanie - rozumiem, że to jest by design?
  2. Czy jest jakaś opcja, żeby w obrębie widgetu dimmera ukryć/wyłączyć ten przycisk ON/OFF?
  3. jaka jest dokładnie rola funkcji fillSuplsChannelNewValue(..)?
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: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

vajera wrote: Mon May 19, 2025 11:47 am Funkcja Supla::Notification::RegisterNotification(int16_t context, bool titleSetByDevice = true, bool messageSetByDevice = true, bool soundSetByDevice = false) działa "jednorazowo", tzn. jej kolejne wywołania ze zmienionym parametrem titleSetByDevice lub messageSetByDevice nie zmieniają już ustawień w obrębie serwera Supla - konieczne jest usunięcie kanału i jego ponowne dodanie - rozumiem, że to jest by design?
Takie było założenie. Ogólnie to jest funkcjonalność przewidziana oryginalnie tylko dla DIY. Założenie było takie, że urządzenie na początku rejestruje co robi i tego nie zmienia.
Rozumiem, że bramka nie pasuje do tego założenia, bo tam się sporo może zmienić...
vajera wrote: Mon May 19, 2025 11:47 am Czy jest jakaś opcja, żeby w obrębie widgetu dimmera ukryć/wyłączyć ten przycisk ON/OFF?
"widgetu" - co przez to rozumiesz?
Ale ogólnie nie da się tego ukryć, niezależnie od tego, czy mówisz o widgetach, włącz/wyłącz z listy kanałów, czy też przycisku on/off w widoku szczegółowym dimmera czy też RGB.
vajera wrote: Mon May 19, 2025 11:47 am jaka jest dokładnie rola funkcji fillSuplsChannelNewValue(..)?
Tam jest chyba kilka możliwych użyć. Ogólnie kanały dostają polecenia sterujące z serwera w jakimś określonym formacie (8 bajtów danych) i jest to jakoś przez serwer wypełniane.
Nie na każdym interfejsie dostaję te same dane (np. z mqtt może polecieć trochę mniej danych) i aby nie robić osobnych interfejsów sterujących, np. dla mqtt, to najpierw wypełniam sobie tą strukturę (przez kanał, używając w/w medoty) i potem modyfikuję tam odpowiednie pola, tak jak to z reguły serwer Supli robi.
Raczej nie widzę potrzeby, abyś musiał w to ingerować.
Chyba, że chcesz robić na dimmer/rgb rzeczy, do których on nie jest przystasowany...
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
vajera
Posts: 7287
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

klew wrote: Mon May 19, 2025 12:33 pm
vajera wrote: Mon May 19, 2025 11:47 am Funkcja Supla::Notification::RegisterNotification(int16_t context, bool titleSetByDevice = true, bool messageSetByDevice = true, bool soundSetByDevice = false) działa "jednorazowo", tzn. jej kolejne wywołania ze zmienionym parametrem titleSetByDevice lub messageSetByDevice nie zmieniają już ustawień w obrębie serwera Supla - konieczne jest usunięcie kanału i jego ponowne dodanie - rozumiem, że to jest by design?
Takie było założenie. Ogólnie to jest funkcjonalność przewidziana oryginalnie tylko dla DIY. Założenie było takie, że urządzenie na początku rejestruje co robi i tego nie zmienia.
Rozumiem, że bramka nie pasuje do tego założenia, bo tam się sporo może zmienić...
To nie tak, że nie pasuje - w sumie wydaje mi się, że to rozwiązanie, które przyjąłem (tytuł na serwerze, treść w urządzeniu) ma największy sens - bramka nie zna (i nie może znać) aktualnej nazwy kanału, zna za to stan urządzenia i może to zawrzeć w treści. Przy okazji - nie znalazłem tego issue, o którym pisałeś - {name} jako zmienna w tytule powiadomienia?
To pytanie raczej dla Twojej informacji - jeżeli takie było założenie to OK.
vajera wrote: Mon May 19, 2025 11:47 am Czy jest jakaś opcja, żeby w obrębie widgetu dimmera ukryć/wyłączyć ten przycisk ON/OFF?
"widgetu" - co przez to rozumiesz?
Ale ogólnie nie da się tego ukryć, niezależnie od tego, czy mówisz o widgetach, włącz/wyłącz z listy kanałów, czy też przycisku on/off w widoku szczegółowym dimmera czy też RGB.
Miałem na myśli szczegółowy widok dimmera w aplikacji.
vajera wrote: Mon May 19, 2025 11:47 am jaka jest dokładnie rola funkcji fillSuplsChannelNewValue(..)?
Tam jest chyba kilka możliwych użyć. Ogólnie kanały dostają polecenia sterujące z serwera w jakimś określonym formacie (8 bajtów danych) i jest to jakoś przez serwer wypełniane.
Nie na każdym interfejsie dostaję te same dane (np. z mqtt może polecieć trochę mniej danych) i aby nie robić osobnych interfejsów sterujących, np. dla mqtt, to najpierw wypełniam sobie tą strukturę (przez kanał, używając w/w medoty) i potem modyfikuję tam odpowiednie pola, tak jak to z reguły serwer Supli robi.
Raczej nie widzę potrzeby, abyś musiał w to ingerować.
Chyba, że chcesz robić na dimmer/rgb rzeczy, do których on nie jest przystasowany...
Szukam rozwiązania na wprowadzanie danych z aplikacji do urządzenia - pomysłu na coś, co mogłoby służyć do przekazania urządzeniu kilku opcji a nie tylko ON/OFF, jak w przypadku wirtualnego przekaźnika. W sumie zrobiłem już kiedyś taki komponent do termostatu - wirtualny przekaźnik, który przy każdym ON zwiększa wartość a przy OFF zmniejsza, ale wciąż szukam innych opcji dlatego kombinuję z tym dimmerem.
BTW - taka ciekawostka - aplikacja pokazuje np. 50% w widoku szczegółowym dimmera a handleNewValueFrom Server dostaje 49%...
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: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Dla dimmera nie ma znaczenie czy to jest 50 czy 49% . Pewnie tam coś inaczej się zaokrągla w jakimś miejscu.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
vajera
Posts: 7287
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

Żeby nie wyważać otwartych drzwi może ktoś nakieruje mnie, jak najprościej zrobić własny formularz WWW do Webinterface i prowadzący do niego przycisk w widoku głównym (tam gdzie SAVE/SAVE&RESTART)?
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: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

vajera wrote: Wed May 21, 2025 10:28 am Żeby nie wyważać otwartych drzwi może ktoś nakieruje mnie, jak najprościej zrobić własny formularz WWW do Webinterface i prowadzący do niego przycisk w widoku głównym (tam gdzie SAVE/SAVE&RESTART)?
Gotowy serwer www na supla-device nie przewiduje takich funkcji.
Tam na sztywno są dwie ścieżki ustawione: / oraz /beta

Ogólnie zobacz:src/supla/network/esp_web_server.cpp
Ten serwer odpala sendPage lub sendBetaPage zależnie od wybranego patha.

Ale cały ten mechanizm używany w supla-device jest mocno inwencją własną autora ;P
Najlepsze suple dla Twojego domu :mrgreen:

Return to “Bramka ZigBee”