Głowice termostatyczne i termostaty ścienne - [bramka ZigBee]
Moderator: vajera
-
vajera
- Posts: 7297
- Joined: Wed Oct 31, 2018 7:58 am
- Location: Biedrusko
- Has thanked: 291 times
- Been thanked: 161 times
To jest dokładnie mój plan na dzisiaj - z tym, że zakładałem raczej bufor ±1 sekundaklew wrote: Tue Dec 16, 2025 7:05 am Może można tam dodać buforowanie tej wiadomości i timer 3s w ciągu którego czeka się na tą drugą wiadomość?
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
Nie wiem czy to jest ważne ale ZWT198 w TUYI ma 3 tryby pracy : Manual mode, Program mode, Programming temporary mode. Ten trzeci załącza się kiedy skorygujesz temp.nastawną w trakcie pracy w trybie Program Mode. Zauważyłem, że gdy w Supli przełączysz z ręcznego Trybu na tryb Program to owszem zmieni się temperatura nastawna lecz nie zmienia się tryb w Termostacie z ręcznego na Program. Może to jest też jakiś trop, a jeśli nie i jest to mało istotne to proszę zignorować wiadomość.
-
vajera
- Posts: 7297
- Joined: Wed Oct 31, 2018 7:58 am
- Location: Biedrusko
- Has thanked: 291 times
- Been thanked: 161 times
Mam taką zasadę, że nie ignoruję żadnej wiadomości (chociaż zdarza mi się przegapić niektóreendrju_88 wrote: Tue Dec 16, 2025 8:00 am Nie wiem czy to jest ważne ale ZWT198 w TUYI ma 3 tryby pracy : Manual mode, Program mode, Programming temporary mode. Ten trzeci załącza się kiedy skorygujesz temp.nastawną w trakcie pracy w trybie Program Mode. Zauważyłem, że gdy w Supli przełączysz z ręcznego Trybu na tryb Program to owszem zmieni się temperatura nastawna lecz nie zmienia się tryb w Termostacie z ręcznego na Program. Może to jest też jakiś trop, a jeśli nie i jest to mało istotne to proszę zignorować wiadomość.
Znam te tryby, ale to nie ten kierunek:
- problem polega na tym, że gdy w tym termostacie włączasz tryb AUTO, to najpierw wysyła nastawę trybu auto a dopiero później informację o włączeniu trybu AUTO,
- z punktu widzenia Supla wygląda to tak, jakby użytkownik zmienił ręcznie temperaturę w termostacie a później włączył tryb AUTO,
- natomiast to Twoje ostatnie spostrzeżenie jest słuszne, z tym że tak ma być - Supla nie może przełączyć termostatu w tryb auto, bo wtedy straci nad nim kontrolę - termostat stanie się autonomiczny.
Masz tylko 10 możliwości - albo termostat Supla steruje pracą głowicy i wtedy ona zawsze jest w trybie ręcznym albo przełączasz głowicę w AUTO i rezygnujesz ze sterowania Supla.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
@vajera zdaję sobie sprawę że to bardziej skomplikowane ale tak rozmyślam na swoim poziomie
i takie mi się pytanie rodzi...
skoro termostat TRV_SCHEDULE_MODE_MSG: wysyła ze stanem 0x0 lub 0x1 i zakładając że mamy już włączony ten tryb SCHEDULE SUPLA.
Naciskamy M... Rozumiem że termostat był przełączony z powrotem na ręczny żeby mógł być sterowany z Supli więc naciskając ten przycisk zawsze pójdzie 0x1, choć w logach widać że czasami idzie też 0x0. I jak by zrobić w bramce ignorowanie 0x0 a 0x1 zrobić z jakąś pamięcią i TOGLE. Czy w ogóle taki kierunek jest możliwy?
skoro termostat TRV_SCHEDULE_MODE_MSG: wysyła ze stanem 0x0 lub 0x1 i zakładając że mamy już włączony ten tryb SCHEDULE SUPLA.
Naciskamy M... Rozumiem że termostat był przełączony z powrotem na ręczny żeby mógł być sterowany z Supli więc naciskając ten przycisk zawsze pójdzie 0x1, choć w logach widać że czasami idzie też 0x0. I jak by zrobić w bramce ignorowanie 0x0 a 0x1 zrobić z jakąś pamięcią i TOGLE. Czy w ogóle taki kierunek jest możliwy?
-
vajera
- Posts: 7297
- Joined: Wed Oct 31, 2018 7:58 am
- Location: Biedrusko
- Has thanked: 291 times
- Been thanked: 161 times
Problem jest innej natury - rozważ taki scenariusz:zzrr wrote: Tue Dec 16, 2025 9:08 am @vajera zdaję sobie sprawę że to bardziej skomplikowane ale tak rozmyślam na swoim poziomiei takie mi się pytanie rodzi...
skoro termostat TRV_SCHEDULE_MODE_MSG: wysyła ze stanem 0x0 lub 0x1 i zakładając że mamy już włączony ten tryb SCHEDULE SUPLA.
Naciskamy M... Rozumiem że termostat był przełączony z powrotem na ręczny żeby mógł być sterowany z Supli więc naciskając ten przycisk zawsze pójdzie 0x1, choć w logach widać że czasami idzie też 0x0. I jak by zrobić w bramce ignorowanie 0x0 a 0x1 zrobić z jakąś pamięcią i TOGLE. Czy w ogóle taki kierunek jest możliwy?
1. ZWT w trybie ręcznym,
2. Supla w trybie harmonogramu - dajmy na to 19 st. C,
3. naciskasz (M) - ZWT wysyła najpierw nastawę trybu AUTO, czyli np. 16 st. C,
4. termostat Supla dostaje informację - zmiana nastawy na 16 st. C (bo to wygląda tak jakby użytkownik ręcznie zmienił nastawę),
5. w Cloud masz włączone "Zmiana temperatury docelowej przełącza w tryb manualny",
6. więc termostat Supla wyłącza harmonogram i przechodzi w tryb ręczny z nastawą 16 st. C,
7. za ułamek sekundy głowica informuje o naciśnięciu (M) - to jest to TRV_SCHEDULE_MODE_MSG == 1,
8. termostat Supla jest już wtedy w trybie ręcznym, więc przechodzi ponownie w tryb harmonogram,
9. ponieważ dzieje się to bardzo szybko (< 1 s), to z punktu widzenia użytkownika naciśnięcie (M) nie dało żadnego efektu.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
No tak... Czyli Ty chcesz teraz spróbować żeby każdą odebraną wiadomość dotyczącą zmiany temperatury przetrzymało w buforze przez powiedzmy 2s przed wykonaniem na ewentualność pojawienia się TRV_SCHEDULE_MODE_MSG ==1. Tak? To o to chodzi?vajera wrote: Tue Dec 16, 2025 9:21 amProblem jest innej natury - rozważ taki scenariusz:zzrr wrote: Tue Dec 16, 2025 9:08 am @vajera zdaję sobie sprawę że to bardziej skomplikowane ale tak rozmyślam na swoim poziomiei takie mi się pytanie rodzi...
skoro termostat TRV_SCHEDULE_MODE_MSG: wysyła ze stanem 0x0 lub 0x1 i zakładając że mamy już włączony ten tryb SCHEDULE SUPLA.
Naciskamy M... Rozumiem że termostat był przełączony z powrotem na ręczny żeby mógł być sterowany z Supli więc naciskając ten przycisk zawsze pójdzie 0x1, choć w logach widać że czasami idzie też 0x0. I jak by zrobić w bramce ignorowanie 0x0 a 0x1 zrobić z jakąś pamięcią i TOGLE. Czy w ogóle taki kierunek jest możliwy?
1. ZWT w trybie ręcznym,
2. Supla w trybie harmonogramu - dajmy na to 19 st. C,
3. naciskasz (M) - ZWT wysyła najpierw nastawę trybu AUTO, czyli np. 16 st. C,
4. termostat Supla dostaje informację - zmiana nastawy na 16 st. C (bo to wygląda tak jakby użytkownik ręcznie zmienił nastawę),
5. w Cloud masz włączone "Zmiana temperatury docelowej przełącza w tryb manualny",
6. więc termostat Supla wyłącza harmonogram i przechodzi w tryb ręczny z nastawą 16 st. C,
7. za ułamek sekundy głowica informuje o naciśnięciu (M) - to jest to TRV_SCHEDULE_MODE_MSG == 1,
8. termostat Supla jest już wtedy w trybie ręcznym, więc przechodzi ponownie w tryb harmonogram,
9. ponieważ dzieje się to bardzo szybko (< 1 s), to z punktu widzenia użytkownika naciśnięcie (M) nie dało żadnego efektu.
-
vajera
- Posts: 7297
- Joined: Wed Oct 31, 2018 7:58 am
- Location: Biedrusko
- Has thanked: 291 times
- Been thanked: 161 times
Z grubsza rzecz biorąc mniej więcej tak chcę zrobić, przy czym zacznę od progu 500 ms - to jest ewidentna "skucha" w kodzie - prawdopodobnie te dwie wiadomości są wysłane jedna po drugiej, tylko w niewłaściwej kolejności.zzrr wrote: Tue Dec 16, 2025 9:28 amNo tak... Czyli Ty chcesz teraz spróbować żeby każdą odebraną wiadomość dotyczącą zmiany temperatury przetrzymało w buforze przez powiedzmy 2s przed wykonaniem na ewentualność pojawienia się TRV_SCHEDULE_MODE_MSG ==1. Tak? To o to chodzi?vajera wrote: Tue Dec 16, 2025 9:21 amProblem jest innej natury - rozważ taki scenariusz:zzrr wrote: Tue Dec 16, 2025 9:08 am @vajera zdaję sobie sprawę że to bardziej skomplikowane ale tak rozmyślam na swoim poziomiei takie mi się pytanie rodzi...
skoro termostat TRV_SCHEDULE_MODE_MSG: wysyła ze stanem 0x0 lub 0x1 i zakładając że mamy już włączony ten tryb SCHEDULE SUPLA.
Naciskamy M... Rozumiem że termostat był przełączony z powrotem na ręczny żeby mógł być sterowany z Supli więc naciskając ten przycisk zawsze pójdzie 0x1, choć w logach widać że czasami idzie też 0x0. I jak by zrobić w bramce ignorowanie 0x0 a 0x1 zrobić z jakąś pamięcią i TOGLE. Czy w ogóle taki kierunek jest możliwy?
1. ZWT w trybie ręcznym,
2. Supla w trybie harmonogramu - dajmy na to 19 st. C,
3. naciskasz (M) - ZWT wysyła najpierw nastawę trybu AUTO, czyli np. 16 st. C,
4. termostat Supla dostaje informację - zmiana nastawy na 16 st. C (bo to wygląda tak jakby użytkownik ręcznie zmienił nastawę),
5. w Cloud masz włączone "Zmiana temperatury docelowej przełącza w tryb manualny",
6. więc termostat Supla wyłącza harmonogram i przechodzi w tryb ręczny z nastawą 16 st. C,
7. za ułamek sekundy głowica informuje o naciśnięciu (M) - to jest to TRV_SCHEDULE_MODE_MSG == 1,
8. termostat Supla jest już wtedy w trybie ręcznym, więc przechodzi ponownie w tryb harmonogram,
9. ponieważ dzieje się to bardzo szybko (< 1 s), to z punktu widzenia użytkownika naciśnięcie (M) nie dało żadnego efektu.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
Jasne... to mniej więcej "kumam" w czym rzeczvajera wrote: Tue Dec 16, 2025 9:39 am .......
Z grubsza rzecz biorąc mniej więcej tak chcę zrobić, przy czym zacznę od progu 500 ms - to jest ewidentna "skucha" w kodzie - prawdopodobnie te dwie wiadomości są wysłane jedna po drugiej, tylko w niewłaściwej kolejności.
@vajera wiesz co... tak patrzę w te logi i pogłębiam swoją wiedzę w tym temacie...
faktycznie jak sparować te poprzedzające komunikaty co pokazałeś TRV_HEATING_SETPOINT_MSG przed TRV_SCHEDULE_MODE_MSG
to największy czas wychodzi 0.299s. Dlatego tak coś czuję że Ci się uda... i przyszedł mi pewien pomysł do głowy
Oczywiście pozostawiam go to Tobie do rozpatrzenia przede wszystkim pod kątem możliwości, Twojego czasu itp. No i inni którym nie musi się to podobać co zaproponuję.
Skoro Ci się uda, a uda... to może by zrobić takie małe "podwójne" zabezpieczenie...
W momencie kiedy termostat będzie szedł w tryb SCHEDULE wyłączyć w ogóle w bramce reakcję na TRV_HEATING_SETPOINT_MSG.
Ponieważ dotyczy to tych bateryjnych i zapewne każdy je przestawia od czasu do czasu,
lub w przypadku potrzeby włączenia podświetlania bo na baterii bardzo przygasa nie wyłączy się SCHEDULE przypadkowo strzałkami
oraz dodatkowo gdy spróbuje przestawić szybko zorientuje się w jakim trybie jest termostat bez konieczności sprawdzania w telefonie
Dodatkowo zabezpieczy przed jakimś dziwnym niespodziewanym wysłaniem tego Setpointa z termostatu i wyłączenia SCHEDULE.
Co o tym myślisz/ myślicie? No chyba że wyłączenie w cloud automatycznego wyłączenia po przestawieniu załatwi to w ten sam sposób.
faktycznie jak sparować te poprzedzające komunikaty co pokazałeś TRV_HEATING_SETPOINT_MSG przed TRV_SCHEDULE_MODE_MSG
to największy czas wychodzi 0.299s. Dlatego tak coś czuję że Ci się uda... i przyszedł mi pewien pomysł do głowy
Oczywiście pozostawiam go to Tobie do rozpatrzenia przede wszystkim pod kątem możliwości, Twojego czasu itp. No i inni którym nie musi się to podobać co zaproponuję.
Skoro Ci się uda, a uda... to może by zrobić takie małe "podwójne" zabezpieczenie...
W momencie kiedy termostat będzie szedł w tryb SCHEDULE wyłączyć w ogóle w bramce reakcję na TRV_HEATING_SETPOINT_MSG.
Ponieważ dotyczy to tych bateryjnych i zapewne każdy je przestawia od czasu do czasu,
lub w przypadku potrzeby włączenia podświetlania bo na baterii bardzo przygasa nie wyłączy się SCHEDULE przypadkowo strzałkami
oraz dodatkowo gdy spróbuje przestawić szybko zorientuje się w jakim trybie jest termostat bez konieczności sprawdzania w telefonie
Dodatkowo zabezpieczy przed jakimś dziwnym niespodziewanym wysłaniem tego Setpointa z termostatu i wyłączenia SCHEDULE.
Co o tym myślisz/ myślicie? No chyba że wyłączenie w cloud automatycznego wyłączenia po przestawieniu załatwi to w ten sam sposób.
