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

[OpenBeken] Neptun Smart+ TuyaMCU – brak synchronizacji między zaworami połączonymi w parze DP104/DP

caengiya 28 Lip 2026 12:49 444 0
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
  • #1 21946305
    caengiya
    Poziom 1  
    Posty: 1
    Witam,

    Pracuję z urządzeniem Neptun Smart+ wykorzystującym komunikację OpenBeken i TuyaMCU.

    Zauważyłem następujące zachowanie:

    Urządzenie posiada dwa zawory sterowane przez dwa różne punkty danych Tuya:
    DP104
    DP105
    Kiedy wysyłam polecenie zmiany stanu DP104, mikrokontroler TuyaMCU zmienia również stan DP105.
    To samo wydaje się dziać w odwrotnym kierunku: zmiana stanu jednego zaworu wpływa na stan zgłaszany przez drugi zawór.

    Wygląda na to, że mikrokontroler posiada jakąś wewnętrzną logikę łączącą te dwa zawory.

    Problem polega na tym, że OpenBeken obecnie wysyła polecenie do mikrokontrolera Tuya, ale nie śledzi automatycznie końcowego stanu zwracanego przez mikrokontroler. Z tego powodu OpenBeken może stracić synchronizację z rzeczywistym stanem urządzenia. Na przykład:

    OpenBeken może wyświetlać zawór 1 = WYŁ. i zawór 2 = WYŁ.
    ale mikrokontroler mógł w rzeczywistości otworzyć jeden zawór i odpowiednio zaktualizować DP drugiego.

    Moje pytania:

    Czy istnieje zalecany sposób w sterowniku OpenBeken dla TuyaMCU, aby po zmianie wartości DP poczekać na odpowiedź MCU i ją przetworzyć?
    Czy powinienem okresowo sprawdzać wartości DP104/DP105 i traktować zwrócony stan jako źródło prawdy?
    Czy istnieje zdarzenie/wywołanie zwrotne TuyaMCU, które można wykorzystać do wykrywania zmian stanu otrzymanych z mikrokontrolera?
    Czy takie zachowanie jest oczekiwane w przypadku zaworów Tuya, w których dwa stany DP są wewnętrznie powiązane?

    Będę wdzięczny za wszelkie porady dotyczące prawidłowej implementacji.

    Dziękuję!

    Dodano po 5 [godzinach] 51 [minutach]:

    Na razie takie rozwiązanie:
    autoexec.bat
    startDriver TuyaMCU
    tuyaMcu_setBaudRate 115200
    tuyaMcu_defWiFiState 4
    
    setChannelType 0 Toggle
    linkTuyaMCUOutputToChannel 104 bool 0
    
    setChannelType 1 Toggle
    linkTuyaMCUOutputToChannel 105 bool 1
    
    addEventHandler OnChannelChange 0 setChannel 1 $CH0
    addEventHandler OnChannelChange 1 setChannel 0 $CH1
    
    mqtt_broadcastInterval 1
    mqtt_broadcastItemsPerSec 1


    Szybko przełączam tam i z powrotem i na razie nie udało mi się doprowadzić do rozsynchronizacji.
  • REKLAMA
REKLAMA