Pozdrowienia!
Kupiłem dwa bezprzewodowe dzwonki do drzwi oparte na Tuya z Aliexpress (WGH-ML-001). Wiedziałem, że ma moduł Tuya CBU (patrz zdjęcia).


Wgrałem OpenBeken do jednego z urządzeń, po wywąchaniu komunikacji UART.
Aby sflashować obraz, musiałem wyjąć moduł, ponieważ TuyaMCU zaśmieciło linie TX/RX. Do swojego posta załączam oryginalne oprogramowanie.
Oto moje ustalenia:
Mogę PODGLĄD głośności i dzwonka, wysyłając następujące polecenia w wierszu poleceń:
- tuyaMcu_sendState 3 2 100 (dla głośności wartości od 1 do 100)
- tuyaMcu_sendState 2 2 14 (dla dzwonka wartości od 1 do 40)
Jednak te polecenia nie ZAPISUJĄ ustawień. W tym celu komunikacja UART jest następująca:
W tym
- Siódmy bajt (0x00) to tryb (00 = dźwięk i światło / 01 = tylko dźwięk / 02 = tylko światła)
- szósty bajt (0x47) to głośność (od 1 do 100 w heksie)
- 5-ty bajt (0x01) to dzwonek (od 1 do 40 w hex)
Moje pierwsze pytanie brzmi: jak mogę wysłać te dane RAW do TuyaMCU? Działa, jeśli używam „uartSendHex”, ale nie mogę sprawić, by działał z tuyaMCU_sendState. Ponadto, jak mogę powiązać te ustawienia na przykład z dimmerami? (jeden z zakresem 1-100 i jeden z 1-40 dla dzwonka)?
Pamiętaj, że po wybraniu musisz wysłać ostatnią wiadomość, w przeciwnym razie ustawienia nie zostaną zapisane (tylko podgląd).
Drugie moje pytanie brzmi: Po naciśnięciu przycisku dzwonka moduł WiFi otrzymuje na UART:
Jak mogę powiązać to z przyciskiem? (do użycia w asystencie domowym -> chcę rejestrować, kiedy został naciśnięty przycisk i chcę wysłać powiadomienie push na mój telefon). To jest ważne, naprawdę nie obchodzi mnie, czy nie mogę ustawić głośności lub dzwonka (mogą się jednak przydać, jeśli chcesz np. chcesz spać).
Czy mogę wysłać polecenie przez http do Openbeken (w tym przypadku skonstruuję surowe dane, obliczę sumę kontrolną i wyślę przez http za pomocą uartSendHex)?
Jeśli nie można tego zrobić od razu po wyjęciu z pudełka, czy możesz wskazać mi samouczek, aby napisać do tego własny sterownik?
Dziękuję bardzo i przepraszam za mój angielski, mam nadzieję, że rozumiesz, o co mi chodzi. Przepraszam również, jeśli popełniłem błędy w tworzeniu posta, jest to mój pierwszy post tutaj.
EDYTOWAĆ:
Dobra, więc bawiłem się tym przez cały dzień i udało mi się uruchomić przycisk. Jestem pewien, że nie jest to najlepszy sposób na zrobienie tego, ale działa.
Dodałem następujące elementy do pliku autoexec.bat:
To łączy tuyaMCU z Channel1. Ale przycisk przełączania nigdy nie zmienia się z powrotem na „OFF”, ponieważ komunikat UART z TuyaMCU ma zawsze wartość „1”. Napisałem więc skrypt „resetbutton.bat” i uruchamiamy go za każdym razem, gdy wartość przycisku zmieni się na „1”.
Przycisk resetowania.bat:
Spowoduje to odczekanie 5 sekund, a następnie przełączenie kanału z powrotem na „0”.
Następnie skonfigurowałem MQTT i zintegrowałem przycisk z Home Assistant. Teraz wiem, kiedy naciśnięto dzwonek do drzwi i mogę wysyłać powiadomienia na telefon lub robić inne rzeczy za pomocą automatyzacji.
Jeśli masz bardziej eleganckie rozwiązanie tego problemu, podziel się nim.
Ponadto moje inne pytania są nadal aktualne (jak radzić sobie ze zmianą głośności i dzwonka). Byłoby miło mieć możliwość ustawienia ich z HA.
Dawid
Kupiłem dwa bezprzewodowe dzwonki do drzwi oparte na Tuya z Aliexpress (WGH-ML-001). Wiedziałem, że ma moduł Tuya CBU (patrz zdjęcia).
Wgrałem OpenBeken do jednego z urządzeń, po wywąchaniu komunikacji UART.
Aby sflashować obraz, musiałem wyjąć moduł, ponieważ TuyaMCU zaśmieciło linie TX/RX. Do swojego posta załączam oryginalne oprogramowanie.
Oto moje ustalenia:
Mogę PODGLĄD głośności i dzwonka, wysyłając następujące polecenia w wierszu poleceń:
- tuyaMcu_sendState 3 2 100 (dla głośności wartości od 1 do 100)
- tuyaMcu_sendState 2 2 14 (dla dzwonka wartości od 1 do 40)
Jednak te polecenia nie ZAPISUJĄ ustawień. W tym celu komunikacja UART jest następująca:
Sent by WiFi module:
55 AA 00 06 00 11 0100000D0404010C014700FF04FEFF0031 B2
HEADER VER=00 Unk LEN fnId=1 Raw V=04 04 01 0C 01 47 00 FF 04 FE FF 00 31 CHK
W tym
- Siódmy bajt (0x00) to tryb (00 = dźwięk i światło / 01 = tylko dźwięk / 02 = tylko światła)
- szósty bajt (0x47) to głośność (od 1 do 100 w heksie)
- 5-ty bajt (0x01) to dzwonek (od 1 do 40 w hex)
Moje pierwsze pytanie brzmi: jak mogę wysłać te dane RAW do TuyaMCU? Działa, jeśli używam „uartSendHex”, ale nie mogę sprawić, by działał z tuyaMCU_sendState. Ponadto, jak mogę powiązać te ustawienia na przykład z dimmerami? (jeden z zakresem 1-100 i jeden z 1-40 dla dzwonka)?
Pamiętaj, że po wybraniu musisz wysłać ostatnią wiadomość, w przeciwnym razie ustawienia nie zostaną zapisane (tylko podgląd).
Drugie moje pytanie brzmi: Po naciśnięciu przycisku dzwonka moduł WiFi otrzymuje na UART:
Received by WiFi module:
55 AA 03 07 00 05 0A 01 00 01 01 1B
HEADER VER=03 State LEN fnId=10 Bool V=1 CHK
Received by WiFi module:
55 AA 03 07 00 08 05 00 00 04 FEFF0031 48
HEADER VER=03 State LEN fnId=5 Raw V=-16842703 CHK
Jak mogę powiązać to z przyciskiem? (do użycia w asystencie domowym -> chcę rejestrować, kiedy został naciśnięty przycisk i chcę wysłać powiadomienie push na mój telefon). To jest ważne, naprawdę nie obchodzi mnie, czy nie mogę ustawić głośności lub dzwonka (mogą się jednak przydać, jeśli chcesz np. chcesz spać).
Czy mogę wysłać polecenie przez http do Openbeken (w tym przypadku skonstruuję surowe dane, obliczę sumę kontrolną i wyślę przez http za pomocą uartSendHex)?
Jeśli nie można tego zrobić od razu po wyjęciu z pudełka, czy możesz wskazać mi samouczek, aby napisać do tego własny sterownik?
Dziękuję bardzo i przepraszam za mój angielski, mam nadzieję, że rozumiesz, o co mi chodzi. Przepraszam również, jeśli popełniłem błędy w tworzeniu posta, jest to mój pierwszy post tutaj.
EDYTOWAĆ:
Dobra, więc bawiłem się tym przez cały dzień i udało mi się uruchomić przycisk. Jestem pewien, że nie jest to najlepszy sposób na zrobienie tego, ale działa.
Dodałem następujące elementy do pliku autoexec.bat:
setChannelType 1 toggle
linkTuyaMCUOutputToChannel 10 1 1
AddChangeHandler Channel1 == 1 startScript resetButton.bat * 1
To łączy tuyaMCU z Channel1. Ale przycisk przełączania nigdy nie zmienia się z powrotem na „OFF”, ponieważ komunikat UART z TuyaMCU ma zawsze wartość „1”. Napisałem więc skrypt „resetbutton.bat” i uruchamiamy go za każdym razem, gdy wartość przycisku zmieni się na „1”.
Przycisk resetowania.bat:
delay_s 5
ToggleChannel 1
return
Spowoduje to odczekanie 5 sekund, a następnie przełączenie kanału z powrotem na „0”.
Następnie skonfigurowałem MQTT i zintegrowałem przycisk z Home Assistant. Teraz wiem, kiedy naciśnięto dzwonek do drzwi i mogę wysyłać powiadomienia na telefon lub robić inne rzeczy za pomocą automatyzacji.
Jeśli masz bardziej eleganckie rozwiązanie tego problemu, podziel się nim.
Ponadto moje inne pytania są nadal aktualne (jak radzić sobie ze zmianą głośności i dzwonka). Byłoby miło mieć możliwość ustawienia ich z HA.
Dawid