Rejestracja kanału termostatu

Sheezo
Posts: 40
Joined: Thu Oct 21, 2021 1:28 pm

Post

Dzień dobry,

Jako, że pojawił się w supli termostat to chciałem sobie osuplować moją instalację grzewczą. Sterownik zrobiłem po LAN, ale softowo niestety utknąłem. Czy jest na forum jakaś mądra dusza która krok po kroku napisała by jakich funkcji używać aby prawidłowo zarejestrować i używać termostatu? Wysyłam ramkę rejestracyjną i pojawia mi się kanał termostatu ale supla domaga się jakiejś konfiguracji "Konfiguracja jeszcze nie jest dostępna. Poczekaj, aż urządzenie się podłączy.". Wysyłam konfigurację wg proto.h TChannelConfig_HVAC ale w zwrotce dostaję SUPLA_RESULTCODE_LOCATION_CONFLICT. Cały dzień się męczę i czuję, że bezcelowo tracę czas.
Nadmienię, że nie używam arduino i żadnych tego typu gotowców. Sterownik mam na STM32 i moduł ethernet dlatego chciałbym dokładnie zrozumieć jak to działa.

Pozdrawiam.
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Jak się domyślam używasz własnej implementacji biblioteki klienckiej. Proces rejestracji termostatu jest bardziej złożony niż pozostałych kanałów. Zalecam użyć oficjalnej biblioteki supla-device. Własna implementacja będzie karkołomna.
SUPLA.... Nareszcie w domu.
Sheezo
Posts: 40
Joined: Thu Oct 21, 2021 1:28 pm

Post

Nie używam żadnej biblioteki. Piszę kod wykorzystując proto.h i inne pliki i sklecam sobię protokół komunikacyjny. Poradziłem sobię z różnymi kanałami ale tutaj stanąłem. Potrzebuję tylko informacji w jakiej kolejności i jakie funkcje wywoływać. Z resztą sobię poradzę.
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Poza rejestracją urządzenia musisz zgłosić odpowiednie kanały, a następnie musisz przejść cały flow dot. wymiany konfiguracji.
Jest na to częściowa dokumentacja ale, że nie jestem pewien czy aktualna to lepiej jak odczytasz logikę z kodu supla-device.

Uważam, że lepiej zrobisz jak przeportujesz sobie supla-device na STM-a zamiast pisać coś co niekoniecznie będzie w pełni kompatybilne z wersją bieżącą i poprzednimi.
You do not have the required permissions to view the files attached to this post.
SUPLA.... Nareszcie w domu.
Sheezo
Posts: 40
Joined: Thu Oct 21, 2021 1:28 pm

Post

Świetna grafika, bardzo pomocna. Wielkie dzięki.
Ale mam jedno pytanko. TDS_SuplaRegisterDevice_F: przeszukałem wiele i nie mogę znaleźć tej struktury.
W proto.h jest wzmianka: BIT map definition for TDS_SuplaRegisterDevice_F::ConfigFields (64 bit) i 7 definicji bitowych.
Ale to wszystko.
Korzystam z tego pliku: https://github.com/SUPLA/supla-core/blo ... on/proto.h
Czy jest aktualny?

Pozdrawiam.
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Tak, ten plik jest aktualny.
SUPLA.... Nareszcie w domu.
Sheezo
Posts: 40
Joined: Thu Oct 21, 2021 1:28 pm

Post

To gdzie znajdę tą strukturę TDS_SuplaRegisterDevice_F aby zobaczyć jak to poprawnie zarejstrować?
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

Wersja _F była planowana, się ostatecznie została wersja E.
Ten DeviceConfig nie jest konieczny do uruchomienia termostatu.

Ogólnie kanał termostatu powinien mieć ustawioną flagę "runtime config". Wersja proto powinna być min 21.
Wtedy po rejestracji czeka na wiadomości konfiguracyjne dotyczące kanału i czeka na "channel config finished". Po tym może przesłać swoją konfigurację lub nie (zależnie od sytuacji).
Ogólnie idea jest taka, że jeśli serwer nie ma konfiguracji, albo lokalnie na urządzeniu była zrobiona zmiana, to urządzenie ignoruje config z serwera i przesyła własny. W pozostałych sytuacjach, urządzenie aplikuje config z serwera.

Ogólnie całą procedura jest dość zawiła.
Najlepsze suple dla Twojego domu :mrgreen:
Sheezo
Posts: 40
Joined: Thu Oct 21, 2021 1:28 pm

Post

Bardzo wam dziękuję za informację.
Będę walczył.

Pozdrawiam.
Fryga
Posts: 136
Joined: Tue Oct 13, 2020 5:57 pm
Location: Mińsk Mazowiecki

Post

Sheezo wrote: Thu Dec 28, 2023 8:21 am Świetna grafika, bardzo pomocna. Wielkie dzięki.
Są darmowe narzędzia. Ja używam coś podobnego https://sequencediagram.org/ gdzie zapisuje się diagram w postaci txt - spójrz instrukcje https://sequencediagram.org/instructions.html

Ja używam to integracji modułów ze sobą np. CRM z jakąś aplikacją wg Telemanagement Forum. A tego typu narzędzia UML to świetna sprawa wśród architektów.

Return to “Pomoc”