Svensson SMART06B to zdalnie sterowany czajnik elektryczny kompatybilny z aplikacją Tuya. Oferuje on kontrolę nad temperaturą oraz czasem nagrzewania. Tutaj pokażę, jak można zmienić jego firmware tak, by był kompatybilny z Home Assistant. Skutkować to będzie też jego odcięciem od chmury, czyli zyskamy na prywatności i bezpieczeństwie.
W poprzednim temacie pokazałem ten czajnik z aplikacją producenta. Zapraszam do zapoznania: Po co łączność Wi-Fi w czajniku elektrycznym? Test Svensson Tuya SMART06B
Moduł Wi-Fi WBR3 jest schowany w rączce:
Trzeba go odlutować od podstawy, bo pady do programowania są na jego spodzie:
Programujemy według tematu: WBR2, WBR3, WBRU, W701-VA2-CG pinout, karta katalogowa, flashowanie dla Home Assistant
Wgrywamy OBK - nawet jeśli w środku będzie inny moduł Wi-Fi, to wszystko powinno być już wspierane: https://github.com/openshwprojects/OpenBK7231T_App
Całość oczywiście musi być odpowiednio zasilona - używam zewnętrznego LDO 3.3V:
UWAGA - dla wygody dalsza część jest zrealizowana na mojej płytce z CB3S, ale programowo wychodzi na to samo - oba te moduły są wspierane przez OBK.
Teraz można wziąć się za konfigurację. Urządzenie w środku opiera się o dodatkowe MCU, należy zapoznać się z tematem:
Protokół TuyaMCU - komunikacja pomiędzy mikrokontrolerem a modułem WiFi
Teraz postępujemy wedle przewodnika TuyaMCU:
Przewodnik flashowania, instalacji i konfiguracji TuyaMCU - skonfiguruj dpID dla Home Assistant
Osobiście obrałem metodę "zgadywania" dpID po flashowaniu, więc tu ją opiszę.
Zacząłem od włączenia flag zapisywania zmiennych oraz od prostego autoexec.bat startującego sterownik:
Po restarcie już zaczęły pojawiać się pakiety w logu:
komenda DP poprawnie zwracała ich wartości w formacie JSON:
Udało się tam znaleźć bieżącą temperaturę (tylko do odczytu) - to jest ta sama wartość, co na ekraniku.
Wpisałem zatem jej mapowanie do konfiguracji:
W podobny sposób znalazłem stan przekaźnika - to daje też nam kontrolę, nie jest to zmienna tylko do odczytu. Typ zmiennej to boolean - zero lub jeden.
Tak samo znalazłem docelową temperaturę - dla niej wybrałem formę pola do wpisywania.
Wygląda na to, że całość działa:
Końcowy autoexec.bat:
startDriver TuyaMCU
tuyaMcu_defWiFiState 4
setChannelType 1 Toggle
linkTuyaMCUOutputToChannel 1 bool 1
setChannelType 2 Temperature
setChannelLabel 2 "Current Temperature"
linkTuyaMCUOutputToChannel 2 val 2
setChannelType 4 TextField
setChannelLabel 4 "Target Temperature"
linkTuyaMCUOutputToChannel 4 val 4
Teraz można sparować z Home Assistant:
Panel HA:
Dostępna jest kontrola przekaźnika:
Mamy też historię temperatur (bieżącej i docelowej):
Zasadniczo wszystkie podstawowe funkcje działają - a teraz bardziej zaawansowane można zrealizować na automatyzacjach z Home Assistant.
Podsumowując, to było parowanie czajnika elektrycznego z Home Assistant. Udało mi się tu uruchomić wszystkiego jego podstawowe funkcje. Bardziej zaawansowanych rzeczy zaszytych w dpID TuyaMCU nie dekodowałem, bo uważam, że przykładowo takie utrzymanie temperatury pod naszą nieobecność można zrealizować już w samym HA.
Największą trudnością był wylut WBR3 - niestety ten moduł ma pady do programowania na spodzie, więc potrzeba hot air. Byłoby lepiej trafić na wersję z CB3S lub TYWE3S itd, wtedy programowanie jest łatwiejsze.
Czy widzicie zastosowanie dla tego typu gadżetu, czy może jednak była to tylko edukacyjna zabawa bez odzwierciedlenia w praktyce?
Bez względu na docelowe zastosowanie, urządzenia działa teraz 100% lokalnie, bez chmury, bez serwerów producenta.