OpenBeken jest w stanie zażądać i wyświetlić listę wszystkich dostępnych identyfikatorów dpID urządzeń TuyaMCU. Może to być wykorzystane do dalszego przetwarzania danych w Home Assistant. Poniższy samouczek zakłada, że już sflashowałeś swoje urządzenie i chcesz uzyskać dpID, jeśli jeszcze go nie sflashowałeś, rozważ alternatywne metody ekstrakcji dpID opisane w tym temacie:
TuyaMCU flashing, setup and configuration guide - configure dpIDs for Home Assistant
Zanim przejdziemy dalej, musisz mieć działającą podstawową konfigurację TuyaMCU. Tak więc, uruchom sterownik, ustaw szybkość transmisji (jeśli to konieczne) i wymuś emulację stanu WiFi 0x04 (sparowane) dla MCU:
startDriver TuyaMCU
// set TuyaMCU baud rate
//tuyaMcu_setBaudRate 115200
// emulate being connected to cloud
tuyaMCU_defWiFiState 4
Jeśli nie wiesz, jak skonfigurować autoexec.bat, zobacz ten samouczek:
Teraz, gdy masz już autoexec.bat i uruchomiłeś go ponownie lub zrestartowałeś urządzenie, możesz przypisać następujące polecenie w konsoli:
tuyaMcu_sendQueryState
Gdy to zrobisz, powinieneś otrzymać dużą odpowiedź od TuyaMCU:
Będzie to coś w stylu:
Info:TuyaMCU:Received: 55 AA 03 07 00 08 7D 02 00 04 00 00 01 91 26
Info:TuyaMCU:ProcessIncoming[v=3]: cmd 7 (State) len 15
Info:TuyaMCU:ParseState: id 125 type 2-val len 4
Info:TuyaMCU:ParseState: int32 401
Info:TuyaMCU:Received: 55 AA 03 07 00 08 6F 02 00 04 00 00 00 01 87
Info:TuyaMCU:ProcessIncoming[v=3]: cmd 7 (State) len 15
Info:TuyaMCU:ParseState: id 111 type 2-val len 4
Info:TuyaMCU:ParseState: int32 1
Info:TuyaMCU:Received: 55 AA 03 07 00 05 74 01 00 01 00 84
Info:TuyaMCU:ProcessIncoming[v=3]: cmd 7 (State) len 12
Info:TuyaMCU:ParseState: id 116 type 1-bool len 1
Info:TuyaMCU:ParseState: byte 0
Info:TuyaMCU:Received: 55 AA 03 07 00 05 76 04 00 01 00 89
Info:TuyaMCU:ProcessIncoming[v=3]: cmd 7 (State) len 12
Info:TuyaMCU:ParseState: id 118 type 4-enum len 1
Info:TuyaMCU:ParseState: byte 0
Info:TuyaMCU:Received: 55 AA 03 07 00 08 75 02 00 04 00 00 00 2D B9
Info:TuyaMCU:ProcessIncoming[v=3]: cmd 7 (State) len 15
Info:TuyaMCU:ParseState: id 117 type 2-val len 4
Info:TuyaMCU:ParseState: int32 45
Info:TuyaMCU:Received: 55 AA 03 07 00 08 77 02 00 04 00 00 01 91 20
Info:TuyaMCU:ProcessIncoming[v=3]: cmd 7 (State) len 15
Info:TuyaMCU:ParseState: id 119 type 2-val len 4
Info:TuyaMCU:ParseState: int32 401
Info:TuyaMCU:Received: 55 AA 03 07 00 05 7E 01 00 01 00 8E
Info:TuyaMCU:ProcessIncoming[v=3]: cmd 7 (State) len 12
Info:TuyaMCU:ParseState: id 126 type 1-bool len 1
Info:TuyaMCU:ParseState: byte 0
Info:TuyaMCU:Received: 55 AA 03 07 00 08 80 02 00 04 00 00 00 3C D3
Info:TuyaMCU:ProcessIncoming[v=3]: cmd 7 (State) len 15
Info:TuyaMCU:ParseState: id 128 type 2-val len 4
Info:TuyaMCU:ParseState: int32 60
Odpowiedź może zostać obcięta w logu, ale mamy lepszy mechanizm do jej odzyskania.
Teraz przejdź do flag i ustaw 46 i 47:
Te flagi umożliwią przechowywanie dpID TuyaMCU po stronie OBK. Pozwoli to na uruchomienie komendy DP .
Teraz, po ustawieniu tych flag, uruchom ponownie tuyaMcu_sendQueryState
Odebrane wartości dpID są teraz przechowywane przez OBK. Dostęp do nich można uzyskać za pomocą polecenia HTTP:
http://192.168.0.206/cm?cmnd=DP
Oto jak to wygląda na moim urządzeniu:
Są one w formacie JSON i można również uzyskać ten sam wynik za pośrednictwem MQTT:
Kod: JSON
Oznacza to, że możesz je przetwarzać zarówno w Home Assistant (przez MQTT), jak i w swojej aplikacji (przez HTTP), a nawet ze strony HTML hostowanej na samym OBK (ponownie, przez HTTP rest API). Nie trzeba nawet konfigurować kanałów OBK, uzyskuje się bezpośredni dostęp do identyfikatorów dpID.
I to wszystko! Jeśli chcesz dowiedzieć się więcej o TuyaMCU i OBK, rozważ przeczytanie powiązanych tematów:
TuyaMCU flashing, instrukcja konfiguracji - konfiguracja dpID dla Home Assistant
OpenBeken jako mini hosting HTTP - pisanie stron w Javascript, Tasmota REST
Analizator TuyaMCU - dekoder pakietów UART dla TuyaMCU. Dekoder pakietów UART dla urządzeń Tuya - Detektor dpID
Możesz również wyszukać TuyaMCU na naszej liście urządzeń i na naszym forum:
https://openbekeniot.github.io/webapp/devicesList.html
https://www.elektroda.com/rtvforum/find.php?q=tuyamcu
Nie zapomnij o naszej stronie z przykładami autoexec.bat:
https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/autoexecExamples.md
Daj mi znać, jeśli masz jakieś pytania, z przyjemnością pomogę Ci w uruchomieniu urządzeń bez chmury, w sposób szanujący prywatność.
Fajne? Ranking DIY Pomogłem? Kup mi kawę.