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

[Rozwiązano] Tuya ATORCH S1-BWTH (BK7231N) OpenBeken: Przełącznik przekaźnika nie przełącza się przez interfejs W

krislkins 01 Cze 2025 16:27 1800 11
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
  • #1 21566733
    krislkins
    Poziom 2  
    Posty: 7
    Witam wszystkich, to mój pierwszy post, więc proszę o wyrozumiałość. Przede wszystkim dziękuję ludziom ze społeczności tworzącej i utrzymującej openbeken.

    Po zbadaniu rozwiązań do monitorowania mocy dla moich drukarek 3D, ostatecznie kupiłem kilka z nich

    Tuya ATORCH S1-B/W/T/H Smart Socket Energy Monitor (BK7231N) (C3BS)

    Z pomocą artykułów na tym forum udało mi się odlutować C3BS, flashować openbeken z TTL USB przez maszynę Linux. Teraz mam piękny, zamknięty sposób monitorowania zużycia energii przez moją drukarkę 3D ze statystykami wysyłanymi przez MQTT do Raspberry Pi z LibreNMS i niestandardową aplikacją, która rysuje ładne wykresy. (Openbeken -> MQTT -> skrypt perla -> snmp -> niestandardowa aplikacja LibreNMS).

    Mój problem, z którym potrzebuję pomocy:
    Chciałbym teraz wiedzieć, dlaczego (i jak naprawić) "przełączanie" w interfejsie dla miernika mocy, jednak mam kanał 1 ustawiony na przełączanie, a ja mam miernik w trybie "kontrolowanym", naciśnięcie przycisku, aby przełączyć przekaźnik zdecydowanie go wyłącza (i ponownie włącza), mogę zaobserwować, że openbeken widzi zmianę stanu z 0 na 1 itp, ale klikam "Toggle on", to również zmienia stan, a przycisk zmienia kolor na zielony / czerwony itp, ale przekaźnik nie przełącza się. Muszę mieć gdzieś błąd lub jest to nieobsługiwana funkcja. jest tak samo na wszystkich czterech moich Atorch S1...

    Czy ktoś mógłby wskazać mi właściwy kierunek lub od czego zacząć rozwiązywanie tego problemu? Oto mój autoexec dla informacji:

    startDriver TuyaMCU
    startDriver NTP
    tuyaMcu_setBaudRate 115200
    setChannelType 1 toggle
    setChannelType 2 Voltage_div100
    setChannelType 3 Power_div100
    setChannelType 4 Current_div1000
    setChannelType 5 Frequency_div100
    setChannelType 6 EnergyCost_div1000
    setChannelType 7 Temperature
    setChannelType 8 PowerFactor_div100
    setChannelType 9 EnergyTotal_kWh_div1000
    //ch 1 (dpid 1) sterowanie przekaźnikiem mocy
    linkTuyaMCUOutputToChannel 1 bool 1
    //ch 2 (dpid 20) napięcie
    linkTuyaMCUOutputToChannel 20 1 2
    //ch 3(dpid 19) moc w watach
    linkTuyaMCUOutputToChannel 19 1 3
    //ch 4 (dpid 18) prąd Ampery
    linkTuyaMCUOutputToChannel 18 1 4
    //ch 5 (dpid (133) częstotliwość
    linkTuyaMCUOutputToChannel 133 1 5
    //ch 6 (dpid 102) koszt zużytej energii
    linkTuyaMCUOutputToChannel 102 1 6
    //ch 7 (dpid 135) temp
    linkTuyaMCUOutputToChannel 135 1 7
    //ch 8 (dpid 134) współczynnik mocy
    linkTuyaMCUOutputToChannel 134 raw 8
    //ch 9 (dpid 123) zużyta energia
    linkTuyaMCUOutputToChannel 123 1 9

    Wszystkie mierniki działają w wersji 1.07 na MCU, o ile mogę powiedzieć, tak mówi mi menu konfiguracji.

    z góry dzięki
    AI: Czy próbowałeś przełączać przekaźnik za pomocą innych interfejsów OpenBeken, takich jak polecenia MQTT lub API HTTP, a jeśli tak, czy przekaźnik przełącza się zgodnie z oczekiwaniami za pomocą tych metod?
    Nie, jednak dziennik wskazuje, że coś jest odbierane, a to pokazuje, że wartość się przełącza (prawdopodobnie powodując, że stan jest obserwowany jako zmieniający się na stronie głównej)
    AI: Kiedy próbujesz przełączyć przekaźnik za pośrednictwem interfejsu użytkownika, czy widzisz jakieś błędy lub nietypowe komunikaty w dziennikach OpenBeken lub danych wyjściowych debugowania, które mogą wskazywać, co idzie nie tak?
    Nic oczywistego, ale nie jestem całkowicie pokazany
  • REKLAMA
  • Pomocny post
    #2 21566743
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14679
    Pomógł: 656
    Ocena: 12706
    Czy masz oryginalną kopię zapasową flash 2MB, abyśmy mogli wyodrębnić dpID? https://www.elektroda.com/rtvforum/topic4021129.html
    Twoja konfiguracja wygląda w porządku, ale może dpID 1 jest tylko do odczytu i trzeba ustawić inny dpID?
    Czy działało to w aplikacji Tuya?
    Może spróbuj poprosić o dpID. Możesz także włączyć flagę sklepu i użyć polecenia, aby je wyświetlić:
    https://www.elektroda.com/rtvforum/topic3995777-60.html#20955894
    https://www.elektroda.com/rtvforum/topic3959907-60.html#20976537
    Pomogłem? Kup mi kawę.
  • #3 21566818
    krislkins
    Poziom 2  
    Posty: 7
    Cześć, dzięki za odpowiedź. Sprawdzając moją pracę w październiku 2024 r., Kiedy zrobiłem pierwszą, wygląda na to, że próbowałem wykonać kopię zapasową oprogramowania układowego, ale wygląda na to, że miałem problemy. Moja historia poleceń wydaje się wskazywać, że uruchomiłem uartprogram -r około 20 razy, za każdym razem kończąc się plikiem, który zawsze ma 1150976 bajtów, ale suma kontrolna jest inna za każdym razem, więc wygląda na to, że mogłem zrezygnować z próby utworzenia kopii zapasowej, być może dlatego, że wystąpił błąd podczas tego.

    Zakładam, że nie mogę teraz uzyskać oryginału (chyba że dostanę inną jednostkę, którą planuję szczerze mówiąc). Używałem aplikacji smart life tylko do pierwszego, co zapoczątkowało moje dochodzenie w sprawie odejścia od chmury Tuya, która z pewnością zapewniała możliwość zdalnej zmiany stanu zasilania przekaźnika z poziomu aplikacji.

    Spodziewam się, że tak, musi istnieć inny identyfikator, który można spróbować ustawić, a może numer 1 jest, jak wspomniałeś, tylko do odczytu... Problemem, który mam, jest moja znajomość tego i istnieje niebezpieczeństwo, że zadając to pytanie, zabrzmię trochę w przestrzeni użytkownika. Przejrzę te linki i zobaczę, czy uda mi się znaleźć sposób, mam wrażenie, że będzie to metoda prób i błędów z moją ograniczoną wiedzą.

    Aktualizacja... więc po przeczytaniu trochę natknąłem się również na ten artykuł (wydaje się, że przez twoje dobre ja) https://www.elektroda.com/news/news4049908.html# ale nie sądzę, żebym widział odpowiednie fragmenty do skopiowania / wklejenia do mojego autoexec w celu przechwycenia dpids. Próbowałem włączyć 46 i 47 w sekcji modułu konfiguracyjnego, a jeśli uruchomię tuyaMcu_sendQueryState, otrzymam kilka błędów w dzienniku wskazujących na niewystarczającą ilość miejsca w tablicy.

    Czy warto spróbować metodą prób i błędów? Przypuszczam, że to szukanie igły w stogu siana... Zajrzałem również na platformę deweloperską tuya, ale niestety moje urządzenie nie jest już tam wymienione, więc nie mogę wyeksportować stamtąd dpids.
  • REKLAMA
  • #5 21566877
    krislkins
    Poziom 2  
    Posty: 7
    Tak, to rzeczywiście to urządzenie z https://www.elektroda.com/rtvforum/topic4003739-30.html#21005755 (chociaż zdecydowałem się usunąć C3BS z płyty, aby go sflashować).

    Przejrzałem ten post dość dokładnie, a autoexec, którego używam, w dużej mierze wykorzystuje przydatne wartości z poniższego:

    DP 1, BOOL(rw), switch_1 (开关状态)
    DP 9, VALUE(rw), countdown_1 (开关倒计时)
    DP 17, VALUE(rw), add_ele (增加电量)
    DP 18, VALUE(ro), cur_current (当前电流)
    DP 19, VALUE(ro), cur_power (当前功率)
    DP 20, VALUE(ro), cur_voltage (当前电压)
    DP 101, VALUE(rw), cena (电费单价设置)
    DP 102, VALUE(ro), koszt (总电费)
    DP 103, VALUE(ro), add_cost (电费)
    DP 104, VALUE(rw), ovp (过压值)
    DP 105, VALUE(rw), ocp (过流值)
    DP 106, VALUE(rw), opp (过功率值)
    DP 107, ENUM(rw), język (设备语言)
    DP 108, VALUE(rw), work_value (工作屏幕亮度)
    DP 109, VALUE(rw), standby_value (待机屏幕亮度)
    DP 110, VALUE(rw), standby_time (进入待机时间)
    DP 111, BOOL(rw), beep (系统声音)
    DP 112, ENUM(rw), sw_mode (开关模式)
    DP 113, BOOL(rw), data_reset (累计数据清零)
    DP 114, BOOL(rw), wifi_reset (WiFi设备重置)
    DP 115, BOOL(rw), factor_reset (恢复出厂设置)
    DP 116, BOOL(rw), screen_rotation (屏幕旋转)
    DP 117, ENUM(rw), standby_screen (待机画面)
    DP 118, ENUM(rw), menu (设备功能页面选择:)
    DP 119, VALUE(rw), pług (功率小于)
    DP 120, VALUE(rw), time_a (并持续时间(A类))
    DP 121, VALUE(rw), phigh (功率大于)
    DP 122, VALUE(rw), time_b (并持续时间(B类))
    DP 123, VALUE(ro), ele (总电量)
    DP 124, VALUE(ro), run_countdown (自动运行倒计时)
    DP 125, VALUE(rw), timing_close (定时关闭时间)
    DP 126, VALUE(rw), timing_open (定时开启时间)
    DP 127, VALUE(rw), loop_open (循环定时先开时间)
    DP 128, VALUE(rw), loop_close (循环定时再关时间)
    DP 129, VALUE(rw), countdown_open (倒计时开时间)
    DP 130, VALUE(rw), countdown_close (倒计时关时间)
    DP 131, ENUM(rw), r_mode (开关)
    DP 132, ENUM(rw), warning (告警标志)
    DP 133, VALUE(ro), cur_frequency (当前频率)
    DP 134, VALUE(ro), power_factor (功率因数)
    DP 135, VALUE(ro), cpu_temp (仪表CPU温度)
    DP 136, ENUM(rw), price_mode (电费模式选择:)
    DP 137, VALUE(rw), over_time (超限电压恢复延时:)
    DP 138, ENUM(rw), ttl (设备上电开关状态:)
    DP 139, VALUE(rw), reporting_interval (测量数据刷新间隔时间)

    zauważając, że 1 jest wartością logiczną, jest wymieniona jako rw i służy do przełączania. ale może to coś innego... co ciekawe, jeśli spróbuję dostosować kanał 1:

    //ch 1 (dpid 1) power relay control
    linkTuyaMCUOutputToChannel 1 bool 1

    na inną wartość BOOL (wybrałem obrót ekranu #116), po ponownym uruchomieniu urządzenia, aby upewnić się, że wszystko jest w porządku, jeśli nacisnę przełącznik, ekran się obróci. Ale tylko raz! Przycisk również nie zmienia koloru na zielony... Mogę wrócić tylko poprzez ręczne ustawienie rotacji ekranu z powrotem na urządzeniu. Jeśli zmienię na 111 (sygnał dźwiękowy), a następnie włączę przełącznik, zmieni kolor na zielony, a to włączy sygnały dźwiękowe (które są już włączone), ponowne przełączenie zmieni kolor na czerwony i wyłączy sygnały dźwiękowe. Więc ta wartość działa ładnie, ale nie jest użyteczna.

    Edycja: dzięki za film, jak zrzucić konfigurację gpio, zrobiłem to i załączyłem plik bin
    Załączniki:
    • BK7231N_TuyaConfig_obk2D22356B.bin (72 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #6 21568324
    divadiow
    Poziom 38  
    Posty: 5121
    Pomógł: 441
    Ocena: 904
    divadiow napisał:
    Jeśli twoja konfiguracja Tuya jest w takcie, możemy być w stanie uzyskać z niej pid, aby potwierdzić
    .

    tak, ten sam pk co w starszym wątku - sqrf2g1amfutn4co

    moja kopia zapasowa o zmienionej nazwie znajduje się teraz w kolekcji FlashDumps https://github.com/openshwprojects/FlashDumps/commit/3ad8624fbb9d10048acc2ed73a76c98f94e0792c

    Widzę, że twój jest dostarczany z nowszym oprogramowaniem 3.1.17. 2.1.6 nie oferuje aktualizacji do tego.
  • REKLAMA
  • #7 21568483
    krislkins
    Poziom 2  
    Posty: 7
    Dzięki bardzo za przyjrzenie się temu dla mnie, to interesujące o oprogramowaniu układowym, a także bardzo interesujące o kluczu prywatnym, racjonalnie pomyślałbym, że będą one różne w różnych urządzeniach, więc jeśli są takie same, to brzmi Jest wyraźnie o wiele więcej Nie rozumiem, jak to się składa, ale z twojego postu brzmi to tak, jakbym musiał być może obniżyć wersję oprogramowania układowego 3.1.17 do tego, dla którego dostarczyłeś plik bin? Wygląda na to, że jest to plik "2M", do którego odnosiłeś się we wcześniejszym poście, więc czy musiałbym niskopoziomowo flashować ten plik 2M do CB3S, tak jak zrobiłem to z oryginalnym OBK, czy można to zrobić OTA?
  • REKLAMA
  • #8 21568510
    divadiow
    Poziom 38  
    Posty: 5121
    Pomógł: 441
    Ocena: 904
    krislkins napisał:
    ale z Twojego postu wynika, że być może muszę zaktualizować firmware 3.1.17 do tego, dla którego udostępniłeś plik bin?

    Na podstawie potwierdzenia, że klucz produktu jest taki sam, można mieć większą pewność, że identyfikatory dpID dla tego urządzenia są takie, jak opublikowano w innym wątku.

    gdybyś sflashował kopię zapasową 2.1.6, wróciłbyś do standardowego oprogramowania Tuya.
  • #9 21568524
    krislkins
    Poziom 2  
    Posty: 7
    masz rację, w takim przypadku nie będę flashował, dobrze wiedzieć, że to ten sam produkt. dziękuję... więc czy może to być błąd w oprogramowaniu producenta, ukryty nieznany dpid, czy jest po prostu tylko do odczytu? po przetestowaniu innych wartości bool otrzymałem różne potwierdzenia przełączania, na przykład obracanie ekranu działa (ale tylko w jednym kierunku i odmawia przełączenia z powrotem), a "sygnał dźwiękowy" przełącza się. Nie próbowałem jednak powiązać przełącznika z żadnym innym dpid, który nie jest BOOL, aby sprawdzić, czy to działa, ale nie widzę żadnego innego prawidłowego opisu dla tego, co prawdopodobnie byłoby głównym przekaźnikiem przełącznika oprócz dpid 1 ...

    Próbowałem również dostosować konfigurację z "kontrolowanej" do "zawsze włączonej", ale przełącznik nadal nie przełącza przekaźnika, jedyną różnicą jest to, że nie można go już przełączać za pomocą przycisków - z przodu urządzenia, jeśli nie jest ustawiony na kontrolowany... więc wydaje się, że to też nie to.
  • #11 21617206
    krislkins
    Poziom 2  
    Posty: 7
    O mój Boże, nawet tego nie zauważyłem, albo musiałem pominąć kluczowy fragment. To rzeczywiście działa bardzo ładnie. Dziękuję za wskazanie mi właściwego kierunku! Rzeczywiście jest to dpid 131, ustawiłem to dla tego samego identyfikatora przełącznika (zastępując dpid 1) ponownie uruchomiłem moduł i przełącznik działa!

    Dodano po 2 [minutach]:

    Ustawię ten temat jako rozwiązany i zamknięty teraz, dzięki wszystkim tutaj, wszyscy byliście bardzo pomocni

Podsumowanie tematu

✨ Dyskusja dotyczy problemu z przełączaniem przekaźnika w urządzeniu Tuya ATORCH S1-B/W/T/H Smart Socket Energy Monitor (BK7231N) po wgraniu oprogramowania openbeken. Użytkownik z powodzeniem odlutował moduł C3BS, wgrał openbeken i monitoruje zużycie energii przez drukarkę 3D, przesyłając dane przez MQTT do Raspberry Pi z LibreNMS. Problem polega na tym, że kanał 1 ustawiony na przełączanie nie zmienia stanu przekaźnika przez interfejs. Wskazano, że dpID 1 (BOOL, switch_1) może być tylko do odczytu lub nieprawidłowo skonfigurowany, co może blokować przełączanie. Sugerowano sprawdzenie oryginalnej kopii zapasowej firmware 2MB w celu wyodrębnienia dpID oraz porównania z działaniem w aplikacji Tuya Smart Life, która umożliwiała zdalne sterowanie przekaźnikiem. Użytkownik miał trudności z wykonaniem poprawnej kopii zapasowej firmware, a dostępne pliki wskazują na różne wersje oprogramowania (3.1.17 vs 2.1.6). Potwierdzono, że klucz produktu jest taki sam jak w starszych wątkach, co pozwala na wykorzystanie znanych dpID. Próby zmiany konfiguracji z trybu "kontrolowanego" na "zawsze włączony" nie rozwiązały problemu, a testy innych dpID BOOL wykazały działanie niektórych funkcji (np. obracanie ekranu, sygnał dźwiękowy), lecz przełącznik przekaźnika pozostaje nieaktywny. Dyskusja wskazuje na możliwy błąd firmware lub ukryty, nieznany dpID odpowiedzialny za sterowanie przekaźnikiem.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA