Witam,
Jak to jest z tymi protokołami, bo nigdzie nie znalazłem wyjaśnienia?
Do nie dawna urządzenie musiały mieć wersję 7, ale jakiś czas temu dla impulse_counter została zmieniona na wersję 10.
Której wersji należy używać dla nowych urządzeń i jakie jakie są różnice?
Pozdrawiam.
ESP8266_SUPLA_PROTO_VERSION
Wszystko zależy od tego z jakiej funckjonalności urządzenie korzysta. Jeżeli urządzenie używa funkcji dostępnych w v7 to może ustawić v7 lub dowolnie wyższą. Jak ustawi starszą to połączy się też ze starszymi serwerami, które nie zostały jeszcze uaktualnione. Urządzenie v7 połączy się ze starszymi i nowszymi (>=7 <=10). Pewne funkcje/struktury/typy itp. mogą być dostępne tylko w nowszych wersjach i urządzenie musi wtedy obsługiwać minimalnie taką wersję jaka jest wymagana do obsługi danej funkcjonalności. Tak jest z licznikiem energii/impulsów, które są wspierane dopiero od wersji v10.
Serwer ma to do siebie, że jak pojawi się urządzenie z niższą wersją od jego samego to degraduje swoją do wersji urządzenia (oczywiście tylko na poziomie pojedynczego połączenia). To samo dotyczy smartfonów z tym, że smartfon też potrafi obniżyć swoją wersję, jeżeli trafi na starszą wersję serwera.
Serwer ma to do siebie, że jak pojawi się urządzenie z niższą wersją od jego samego to degraduje swoją do wersji urządzenia (oczywiście tylko na poziomie pojedynczego połączenia). To samo dotyczy smartfonów z tym, że smartfon też potrafi obniżyć swoją wersję, jeżeli trafi na starszą wersję serwera.
https://github.com/SUPLA/supla-core/blo ... on/proto.h
Tam gdzie nie ma komentarza to dotyczy wersji >= 1.0
Tam gdzie jest komentarz np // >= v10
to oznacza, że ten element pojawił się w wersji 10
Dodatkowo jest funkcja, którą można sprawdzić czy dane wywołanie w danej wersji jest dostępne
srpc_call_min_version_required
https://github.com/SUPLA/supla-core/blo ... pc.c#L1064
Tam gdzie nie ma komentarza to dotyczy wersji >= 1.0
Tam gdzie jest komentarz np // >= v10
to oznacza, że ten element pojawił się w wersji 10
Dodatkowo jest funkcja, którą można sprawdzić czy dane wywołanie w danej wersji jest dostępne
srpc_call_min_version_required
https://github.com/SUPLA/supla-core/blo ... pc.c#L1064