Często wyskakuje mi cyferka 3 co to może oznaczać tak po chłopsku?klew wrote: Fri Jul 24, 2020 1:38 pm Nadal używam tej samej listy.
Aktualne znaczenie jest takie:
0 - stan nieznany - tego nigdy na oczy nie zobaczysz
1 - activity timeout - występuje, gdy urządzenie jest poprawnie zarejestrowane, ale przestaje dostawać odpowiedzi od serwera Supli (brak opdowiedzi na Suplowy ping)
2 - WiFi connection lost - jak nazwa wskazuje. Poza tym chciałem tego użyć w przypadku odłączenia kabla dla Arduino Mega na Ethernecie. Niestety Ethernet Shield z W5100 nie raportuje odłączenia kabla, więc może się pojawić tylko na nowszych Ethernet Shieldach (5200 i 5500 - o ile dobrze pamiętam)
3 - Server connection lost - pojawia się gdy zostanie zerwane połączenie na warstwie TCP/IP. Czyli serwer żyje, jest dostępny, ale socket został zamknięty. W praktyce pojawia się przy każdej zmianie konfiguracji na serwerze - wtedy resetowane są wszystkie połączenia przez serwer
Lista ta będzie trochę zmieniona i docelowo aplikacja ma pokazywać jakieś krótkie nazwy zamiast cyferek.
CHANNELSTATE w bibliotece Arduino
-
Juszczaczek1
- Posts: 389
- Joined: Sun Nov 08, 2020 3:41 pm
- Been thanked: 2 times
-
klew
- Posts: 13905
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Często wyskakuje mi cyferka 3 co to może oznaczać tak po chłopsku?Juszczaczek1 wrote: Sun Feb 14, 2021 6:28 pm
3 - Server connection lost - pojawia się gdy zostanie zerwane połączenie na warstwie TCP/IP. Czyli serwer żyje, jest dostępny, ale socket został zamknięty. W praktyce pojawia się przy każdej zmianie konfiguracji na serwerze - wtedy resetowane są wszystkie połączenia przez serwer
[/quote]
Dokładnie to co w opisie powyżej. 3 oznacza zamknięcie połączenia. Serwer zamyka wszystkie połączenia, gdy zrobisz jakąkolwiek zmianę ustawień w cloud
Najlepsze suple dla Twojego domu 
-
fly.high
- Posts: 44
- Joined: Wed Nov 25, 2020 8:35 pm
@klew, mam dokładnie tak samo jak przedmówca.
Na sofcie Multisonoff od @lukfud zarówno na sonoff mini jak i na loratap dokładnie co 60 sekund następuje zerwanie połączenia w aplikacji, kod 3 w ikonce (i). Na 1 sekundę kanał zmienia się na czerwono, zaraz znów zielony i tak przez 59 sekund.
Na fabrycznym sofcie srw-01 tego nie ma, na sonoff Basic z softem 2.7.2 nie modyfikowanym też nic takiego się nie dzieje.
Utworzyłem hotspot z telefonu, nie zrywa.
Adres serwera Supli - wpisalem z palca IP w konfigu - też nie pomogło.
Routery - 2x TP-Link Deco M4. Specjalnie dla tych urządzeń z softem Multisonoff wyłączyłem mesh.
Co może być powodem?
Edit:
Wyłączyłem opcje SIP ALG (to coś od rozmów VoIP) wyłączyłem Beamforming (kierowanie wiązki wifi do urządzenia celem poprawienia stabilności połączenia - mhm, już to widzę
) na routerze. Nie wiem które pomogło 
Na sofcie Multisonoff od @lukfud zarówno na sonoff mini jak i na loratap dokładnie co 60 sekund następuje zerwanie połączenia w aplikacji, kod 3 w ikonce (i). Na 1 sekundę kanał zmienia się na czerwono, zaraz znów zielony i tak przez 59 sekund.
Na fabrycznym sofcie srw-01 tego nie ma, na sonoff Basic z softem 2.7.2 nie modyfikowanym też nic takiego się nie dzieje.
Utworzyłem hotspot z telefonu, nie zrywa.
Adres serwera Supli - wpisalem z palca IP w konfigu - też nie pomogło.
Routery - 2x TP-Link Deco M4. Specjalnie dla tych urządzeń z softem Multisonoff wyłączyłem mesh.
Co może być powodem?
Edit:
Wyłączyłem opcje SIP ALG (to coś od rozmów VoIP) wyłączyłem Beamforming (kierowanie wiązki wifi do urządzenia celem poprawienia stabilności połączenia - mhm, już to widzę
-
Patryk
- Posts: 2944
- Joined: Mon Jan 07, 2019 7:51 pm
- Location: Rybnik
Nie wiem jak tam u Ciebie z czasem, ale może kiedyś w wolnym czasie:klew wrote: Fri Jul 24, 2020 1:38 pm Nadal używam tej samej listy.
Aktualne znaczenie jest takie:
0 - stan nieznany - tego nigdy na oczy nie zobaczysz
1 - activity timeout - występuje, gdy urządzenie jest poprawnie zarejestrowane, ale przestaje dostawać odpowiedzi od serwera Supli (brak opdowiedzi na Suplowy ping)
2 - WiFi connection lost - jak nazwa wskazuje. Poza tym chciałem tego użyć w przypadku odłączenia kabla dla Arduino Mega na Ethernecie. Niestety Ethernet Shield z W5100 nie raportuje odłączenia kabla, więc może się pojawić tylko na nowszych Ethernet Shieldach (5200 i 5500 - o ile dobrze pamiętam)
3 - Server connection lost - pojawia się gdy zostanie zerwane połączenie na warstwie TCP/IP. Czyli serwer żyje, jest dostępny, ale socket został zamknięty. W praktyce pojawia się przy każdej zmianie konfiguracji na serwerze - wtedy resetowane są wszystkie połączenia przez serwer
Lista ta będzie trochę zmieniona i docelowo aplikacja ma pokazywać jakieś krótkie nazwy zamiast cyferek.
" ... i docelowo aplikacja ma pokazywać jakieś krótkie nazwy zamiast cyferek. "
Ps.
Dziś miałem powód restartu: 1, i co ja się naszukałem tego posta.
-
klew
- Posts: 13905
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Osobiście apek na telefony nie dotykamPatryk wrote: Tue Sep 07, 2021 4:15 pm Nie wiem jak tam u Ciebie z czasem, ale może kiedyś w wolnym czasie:
" ... i docelowo aplikacja ma pokazywać jakieś krótkie nazwy zamiast cyferek. "
Ps.
Dziś miałem powód restartu: 1, i co ja się naszukałem tego posta.
Najlepsze suple dla Twojego domu 
-
Patryk
- Posts: 2944
- Joined: Mon Jan 07, 2019 7:51 pm
- Location: Rybnik
-
vajera
- Posts: 7286
- Joined: Wed Oct 31, 2018 7:58 am
- Location: Biedrusko
- Has thanked: 289 times
- Been thanked: 161 times
Straciłem cały wieczór próbując rozkminić dlaczego powyższe rozwiązanie nie działa i w końcu znalazłem odpowiedź, jak zawsze w takich przypadkach niezwykle banalną. Wrzucam ją tutaj bo może pomoże komuś w przyszłości a nie znalazłem tej informacji nigdzie na forum.klew wrote: Fri Oct 30, 2020 7:22 amMusisz w obiekcie czujnika zaimplementować metodę:andrew01 wrote: Thu Oct 29, 2020 7:02 pm @klew - czy mógłbyś podpowiedzieć w jaki sposób do channel_state dodać własne informacje? Chciałbym dodać informacje o poziomie baterii, napięciu i rssi z czujników temperatury Xiaomi. Mam te dane wyciągnięte, w sensie przechowuję je w zmiennych, tylko nie wiem jak je wrzucić do channel_state.
Pozdrawiam
AndrzejPrzykład jest np w LightRelay: https://github.com/klew/arduino/blob/1d ... ay.cpp#L38Code: Select all
virtual void handleGetChannelState(TDSC_ChannelState &channelState);
Tutaj jest definicja struktury, którą możesz wypełnić danymi:
https://github.com/klew/arduino/blob/1d ... to.h#L1486
Dodając jakiś parametr (np. battery level) musisz też dodać flagę dotyczącą baterii (flagi są zdefiniowane nad definicją struktury w proto.h).
W metodzie handleGetChannelState otrzymasz referencje na parametr channelState. On będzie wstępnie wypełniony danymi (uptime z SuplaDevice, dane o sieci z interfejsu sieciowego). Oczywiście RSSI i inne możesz sobie nadpisać.
Tutaj możesz zobaczyć, jak przeliczamy RSSI do % zasięgu: https://github.com/klew/arduino/blob/1d ... ifi.h#L194
Gdzieś na przestrzeni lat @klew zmienił definicję metody handleGetChannelState z:
Code: Select all
virtual void handleGetChannelState(TDSC_ChannelState &channelState);
Code: Select all
virtual void handleGetChannelState(TDSC_ChannelState *channelState);
Oczywiście kod w głównym repozytorium Supla Device jak najbardziej działa.
https://github.com/SUPLA/supla-device/b ... _relay.cpp
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
