logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak uzyskać listę typów i wartości dpID dla sflashowanych urządzeń TuyaMCU z OpenBeken?

p.kaczmarek2 21 Kwi 2024 00:01 3189 0

TL;DR LABEL_AI_GENERATED

  • OpenBeken pobiera i wyświetla listę wszystkich dostępnych dpID urządzeń TuyaMCU po wgraniu firmware, aby ułatwić dalsze przetwarzanie w Home Assistant.
  • Najpierw uruchamia się startDriver TuyaMCU, opcjonalnie ustawia baud rate, emuluje stan Wi‑Fi 0x04 i wysyła tuyaMcu_sendQueryState.
  • Kluczowe są flagi 46 i 47, które pozwalają OBK przechować odebrane dpID i udostępnić je przez komendę DP.
  • Po ponownym zapytaniu tuyaMcu_sendQueryState dane wracają jako JSON przez HTTP lub MQTT, np. pod http://192.168.0.206/cm?cmnd=DP.
  • Warunkiem jest działająca podstawowa konfiguracja TuyaMCU; jeśli urządzenie nie jest jeszcze wgrane, trzeba skorzystać z alternatywnych metod ekstrakcji dpID.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
Słuchaj:
  • Zrzut ekranu przedstawiający dane JSON zidentyfikowane przez OpenBeken.
    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:
    Zrzut ekranu logów OpenBeken dla TuyaMCU z komendami i identyfikatorami dpID.
    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:
    Zrzut ekranu przedstawiający opcje konfiguracyjne flag TuyaMCU w OpenBeken.
    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:
    Zrzut ekranu przedstawiający dane dpID z urządzenia TuyaMCU w formacie JSON na stronie przeglądarki.
    Są one w formacie JSON i można również uzyskać ten sam wynik za pośrednictwem MQTT:
    Kod: JSON
    Zaloguj się, aby zobaczyć kod

    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ę.
    O autorze
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    Inżynier programista z wieloletnim doświadczeniem embedded i full stack developer.
    Specjalizuje się w: embedded, Full-Stack Developer
    p.kaczmarek2 napisał 14755 postów o ocenie 12880, pomógł 659 razy. Jest z nami od 2014 roku.
  • REKLAMA
Słuchaj:
REKLAMA