O matko, totalne szaleństwo
Zaktualizowałem plik - pobierz z tego samego linka. Mam nadzieję, że naprawi odwrócone temperatury current i zadaną, ale raczej nie naprawi działania zmiany temperatury i trybów pracy, choć i tutaj zrobiłem kilka zmian.
Na pewno jest jakiś problem z mappingami. Sterowanie głowicą jest strasznie zamotane. Można popełnić błędy w wielu miejscach.
Po pierwsze - teraz już nie wiem czy w komendzie do kontrolera podaje się pole "work_mode" czy nie. Wygląda, że chyba jednak nie powinno się podawać, a zamiast tego powinno być state z wartością 0 lub 1, ale teraz już też nie wiem która odpowiada manual, a która harmonogramowi. Są tylko 2 możliwości, ale pewności już nie mam.
Sprawy nie ułatwia to, że obecna integracja sprawdza też to co otrzymała od kontrolera. Ta przez MQTT działała w trybie optymistycznym i nie weryfikowała odpowiedzi i jeśli nie było błędu połączenia to zakładała, że operacja się udała. Obecna wersja sprawdza to i rodzi to dodatkową trudność, ponieważ pola w wiadomości od kontrolera mają się nijak nazwami do pól w komendzie 🤦♂️ i można się tylko dymyślać jakie jest ich znaczenie. W przypadku większości urządzeń jest prosto - dotyczą stanu urządzenia (wł/wył) i ewentualnie wartości np jasności oświetlenia. W RGT mamy więcej danych i więcej możliwości ich znaczenia. Nie wiem co za geniusz to tak wymyślił. Generalnie składnia poleceń w miarę trzyma się kupy, ale te notyfikacje już nie. Raz, że trzeba wiedzieć do jakich pól stanu (zwrócone przez komendę 37) odnoszą się pola z odpowiedzi, a dwa, że wygląda jakby były poodwracane wartości. Dodatkowo w komendzie 37 zmiana stanu jest typu boolean, a w notyfikacji jest to typ numeryczny int. Szaleństwo.
Tak więc niestety jest sporo miejsca na popełnienie błędu...
Ale na szczęście możemy to łatwo zdiagnozować
Wykonaj proszę raz jeszcze te scenariusze testów, ale nie w HA, a w aplikacji Exta Life i przechwyć ruch sieciowy z aplikacji. Dla każdego przypadku opisz tak jak opisałeś co jest stanem przed wykonaniem działania (co widać w aplikacji) i co jest stanem po wykonaniu działania.
To nam pozwoli na ustalenie protokołu sterowania dla głowicy. Bez tego trzebaby te testy powtarzać niezliczoną ilość razy, więc łatwiej będzie po prostu ustalić ten mapping tą drogą.