Robię prosty sterownik na ESP32 do obsługi przerobionej pompy ciepła z klimatyzatora. Chciałbym aby dane wyświetlały się w HA, ponadto chciałbym mieć prostą możliwość sterowania, włącz / wyłącz, nastawa temperatury. ESP komunikuje się z HA przez MQTT, komunikacja działa.
Problem w tym że chyba czegoś brakuje integracji CLIMATE bo “kółeczko” jest cały czas szare, nie podświetlają się przyciski HEAT i AUTO. zaciągnąłem jakąś przykładową konfigurację do Configuration.yaml. Ktoś coś podpowie ?
Jeśli coś zaciągasz, to wskaż źródło tego przykładu, bo możliwe że nie dotyczy Twojego przypadku użycia. Na pierwszy rzut oka, jeśli komunikacja odbywa się po MQTT brakuje tej sekcji w konfiguracji, chyba, że inkudujesz w configuration.yaml ten zapis do osobnego pliku mqtt.yaml ale o tym nic nie piszesz.
# Example configuration.yaml entry
mqtt:
- climate:
name: Study
mode_command_topic: "study/ac/mode/set"
Sprawdź też czy tematy pokrywają się dokładnie z tym co masz w MQTT-Explorer z tym co zawierasz w YAML. Z doświadczenia wiem, że tu najłatwiej o błąd, zwłaszcza jeśli nie używa się kopiowania.
Powyższy fragment pochodzi z configuration.yaml. To jest fragment sekcji MQTT (nie wrzucałem całości bo mam tego sporo, wrzuciłem tylko to co dotyczy tego wątku).
Powtórzę - komunikacja MQTT działa, czyli np. kręcąc kółeczkiem - zmienia mi się temperatura zadana, odczytuje to poprawnie w ESP32. Ustawiając tryb HEAT - ESP32 także widzi że aktywowałem tryb HEAT. Wszystko jest OK, tylko to “kółeczko” nie zmienia stanu - jest cały czas szare. Podobnie z wybranym trybem HEAT - nie podświetla się.
Więc brakuje informacji zwrotnej dla HA z ESP32, ale nie podałeś żadnej informacji co wgrałeś do tego ESP32. Na ten moment można wróżyć z obrazka i kawałka kodu HA jak z Tarota, na ten moment postawiłem dwie karty i swoją wróżbę przedstawiłem. Możesz rozwijać temat po jednej kacie ale mi szkoda czasu na wyciąganie każdej informacji.
Programistą nie jestem więc nie będę dalej drążył, udając że się znam. Może pojawi się ktoś bardziej kompetentny, kto rozumie więcej z tego kodu. Myślałem, że korzystałeś z gotowych projektów typu Tasmota, ESPHome czy ESPEasy. Ja nie rozpoznaję czego to jest fragment.
Dlatego nie wstawiałem całego kodu - tym bardziej że jest bardzo mocno roboczy i zawiera różne próby “aktywacji” “kółeczka” w HA.
Moje podstawowe pytanie brzmi - co konkretnie trzeba wysłać z ESP32 do HA (via MQTT) - aby ten widział że moje urządzenie jest włączone, że jest aktywny tryb HEAT.
Wydaje mi się, że odpowiedni ładunek JSON w temacie “ESP222_HeatPump/power_state”, w którym HA otrzyma informację typu ON lub OFF i widać, że taki ładunek leci po MQTT w tym temacie, spróbuj użyć:
zamiast