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

WIP [CBLC9 / BK7231N] Konfiguracja pinów i flashowanie OpenBK na QS-WIFI-S10-C4

vincenzoernst1 17 Kwi 2024 19:04 7818 31
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
  • #1 21049246
    vincenzoernst1
    Poziom 8  
    Posty: 85
    Pomógł: 3
    Ocena: 7
    Ten moduł kurtyny jest podobny do RTX WCM1MR , który również wykorzystuje CBLC9 /BK7231N.


    ID płyty: QL-0887
    Rev. A
    2024.01.23


    PIN CBLC9 Board
    P6 ext. switch
    P7 relay down
    P8 LED
    P9 relay up
    P24 przycisk wewnętrzny
    P26 ext. switch
    GND GND
    VCC 3.3V




    Sflashowałem OpenBK na Linux cli przez python . Magistrala nie została wykryta na początku, ale jak tylko odłączyłem płytę od 3,3 V, zacząłem flashować i ponownie podłączyłem płytę do 3,3 V, magistrala została wykryta i rozpoczęło się flashowanie / tworzenie kopii zapasowych.

    Obecnie nie używam przycisku mechanicznego.

    Aktualna konfiguracja:

    {
      "vendor": "Tuya",
      "bDetailed": "0",
      "name": "QS-WIFI-S10-C04",
      "model": "Mini WiFi Curtain Module",
      "chip": "BK7231N",
      "board": "CBLC9",
      "flags": "1024",
      "keywords": [
       "shutter",
        "blind",
        "roller",
        "curtain",
        "awning",
       "sunblind",
       "marquee",
       "slat",
      ],
      "pins": {
        "6": "Btn;1",
        "7": "Rel;2",
        "8": "WifiLED_n;0",
        "9": "Rel;1",
        "24": "Btnl;32",
        "26": "Btn;2"
      },
      "command": "PowerSave 1",
      "image": "https://obrazki.elektroda.pl/1978468300_1713373135.jpg",
      "wiki": "https://www.elektroda.com/rtvforum/viewtopic.php?p=21049246"
    }
    
    .



    Mini moduł kurtyny Wi-Fi QS-WIFI-S10-C04 z opisem technicznym nadrukowanym na obudowie i widocznymi złączami śrubowymi. Płytka zielonego modułu elektronicznego z otwartą obudową. Zbliżenie na płytkę drukowaną z komponentami elektronicznymi. Moduł elektroniczny z przekaźnikiem QLRELAY i zielonym terminalem. Moduł płyty elektronicznej z oznaczeniem QL-0887 Rev. A. Płytka drukowana modułu kurtyny z podłączonymi przewodami. Zdjęcie modułu kurtyny z połączonymi przewodami.

    Załączam oryginalną kopię zapasową firmware. Użyłem narzędzia python cli. Pierwsza kopia zapasowa z "-r", druga z "-r -s 0x0"
    Załączniki:
    • QS-WIFI-S10-C4-manual.pdf (134.58 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 21049729
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14433
    Pomógł: 650
    Ocena: 12399
    Hej, kopia zapasowa powinna mieć pełne 2 MB, a nie tylko 1,1 MB. Pełne 2 MB pozwolą Ci na wyodrębnienie konfiguracji. Zwykle używamy tego narzędzia:
    https://github.com/openshwprojects/BK7231GUIFlashTool
    Możesz jednak także wyodrębnić konfigurację po flashowaniu:


    Pomogłem? Kup mi kawę.
  • #3 21050156
    vincenzoernst1
    Poziom 8  
    Posty: 85
    Pomógł: 3
    Ocena: 7

    dalej: muszę wymyślić, jak ustawić „tryb migawki”.
  • #4 21124638
    mic_jan
    Poziom 11  
    Posty: 7
    Pomógł: 1
    Ocena: 1
    Hej, a czy te QS-WIFI-S10-C04 można przefleshować poprzez https://github.com/tuya-cloudcutter/tuya-cloudcutter ?
    Dla wspomnianego wcześniej RTX WCM1MR znalazłem profil, a dla właściwego już nie i utknąłem, a nie chciałem wylutowywać modułu.

    
    Selected Device Slug: tuya-generic-2ch-curtain-module
    Selected Profile: oem-bk7231n-curtain-switch-1.1.0-sdk-2.3.1-40.00
    Selected Firmware: OpenBeken-v1.17.262_bk7231n.ug.bin
    
    ================================================================================
    Place your device in AP (slow blink) mode.  This can usually be accomplished by either:
    Power cycling off/on - 3 times and wait for the device to fast-blink, then repeat 3 more times.  Some devices need 4 or 5 times on each side of the pause
    Long press the power/reset button on the device until it starts fast-blinking, then releasing, and then holding the power/reset button again until the device starts slow-blinking.
    See https://support.tuya.com/en/help/_detail/K9hut3w10nby8 for more information.
    ================================================================================
    
    Scanning for open Tuya SmartLife AP
    .........
    Found access point name: "SmartLife-2B41", trying to connect...
    Error: Connection activation failed: (53) The Wi-Fi network could not be found.
    Connected to access point.
    Waiting 1 sec to allow device to set itself up...
    Running initial exploit toolchain...
    Exploit run, saved device config too!
    output=/work/configured-devices/4RDQRMO6jvbI.deviceconfig
    Saved device config in /work/configured-devices/4RDQRMO6jvbI.deviceconfig
    
    ================================================================================
    Power cycle and place your device in AP (slow blink) mode again.  This can usually be accomplished by either:
    Power cycling off/on - 3 times and wait for the device to fast-blink, then repeat 3 more times.  Some devices need 4 or 5 times on each side of the pause
    Long press the power/reset button on the device until it starts fast-blinking, then releasing, and then holding the power/reset button again until the device starts slow-blinking.
    See https://support.tuya.com/en/help/_detail/K9hut3w10nby8 for more information.
    ================================================================================
    
    Scanning for open Tuya SmartLife AP
    .....
    Found access point name: "SmartLife-2B41", trying to connect...
    Error: Connection activation failed: (53) The Wi-Fi network could not be found.
    ...
    Found access point name: "SmartLife-2B41", trying to connect...
    Error: Connection activation failed: (53) The Wi-Fi network could not be found.
    ......
    Found access point name: "SmartLife-2B41", trying to connect...
    Error: Connection activation failed: (53) The Wi-Fi network could not be found.
    ......
    Found access point name: "SmartLife-2B41", trying to connect...
    Error: Connection activation failed: (53) The Wi-Fi network could not be found.
    Connected to access point.
    ================================================================================
    [!] The profile you selected did not result in a successful exploit.
    ================================================================================
    


    Czy coś źle robię, czy to tak po prostu jest?

    Albo czy da się bez wylutowania podejrzeć jaki jest CHIP?
  • #5 21124664
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14433
    Pomógł: 650
    Ocena: 12399
    Dużo nowych urządzeń jest już zabezpieczonych. Nowsze partie tych modeli też mogą nie być podatne na exploit.

    Z komunikatu o błędzie można wywnioskować, że nie ustawiłeś AP mode parowania na urządzeniu, więc jest jeszcze szansa, że to zadziała.

    Ale omawiane urządzenie jest raczej łatwe do otwarcia, czemu chcesz kombinować?

    Ile masz tych urządzeń, masz coś spoza naszej listy Elektrodowej? Mogę wgrać Ci flash jak jest taka potrzeba, szczegóły na PW.
    Pomogłem? Kup mi kawę.
  • #6 21125233
    vincenzoernst1
    Poziom 8  
    Posty: 85
    Pomógł: 3
    Ocena: 7
    Powinien być również możliwy do flashowania bez odlutowywania. masz dostęp do wszystkich pinów i jeśli flasher dostarcza wystarczającą ilość prądu, powinien działać.
  • #7 21125913
    mic_jan
    Poziom 11  
    Posty: 7
    Pomógł: 1
    Ocena: 1
    To albo jest zablokowany, albo ja coś źle robię.

    Zrobiłem próbę podłączenia do UART bez wylutowywania, ale nie mogłem nawiązać komunikacji.

    Kable UART podłączone do płytki obok klawiatury. Lutowana płytka PCB podłączona do kolorowych przewodów, znajdująca się przed klawiaturą.

    Próbowałem również podsłuchać UART przez minicom, ale bezskutecznie.

    Próbowałem pobrać firmware poprzez BK7231GUIFlashTool, a tu miałem cały czas (zdjęcie zapożyczone, ale dochodziło do 100/100 i się wywalało)

    Zrzut ekranu programu BK7231 Easy UART Flasher pokazującego próbę pobrania firmware z komunikatami błędów.
  • #8 21125926
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14433
    Pomógł: 650
    Ocena: 12399
    Czy wykonujesz operacje wedle instrukcji?
    https://www.youtube.com/playlist?list=PLzbXEc2ebpH0CZDbczAXT94BuSGrd_GoM
    Musisz włączyć flashowanie, aby flasher próbował "get bus", a wtedy odciąć na chwilę zasilanie tak aby flasher "złapał" bootwanie się układu.

    Added after 46 [seconds]:

    Dodatkowo połączenia wyglądają na niedopuszczalnie długie.
    Pomogłem? Kup mi kawę.
  • #9 21125978
    mic_jan
    Poziom 11  
    Posty: 7
    Pomógł: 1
    Ocena: 1
    Próbowałem z odpięciem zasilania, z wykorzystaniem CEN do GND i nic :(
  • #10 21125999
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14433
    Pomógł: 650
    Ocena: 12399
    Zasilasz to wedle tutoriali, czyli z dobrego zasilacza 5V na wejście LDO 3.3V? Czy może próbujesz z tego pinu 3.3V na konwerterze USB na UART, co nie ma wydajności prądowej?

    No i tak jak pisałem, te przewody raczej są za długie.
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #11 21126068
    mic_jan
    Poziom 11  
    Posty: 7
    Pomógł: 1
    Ocena: 1
    Zasilam to 12V -> 3.3Vi zmodyfikowałem trochę połączenia, krótszych krokodylków nie mam.

    Płytka stykowa z podłączonymi kablami i komponentami elektronicznymi.

    Nie wiem czy powinienem jeszcze jakichś elementów użyć?
  • #12 21126071
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14433
    Pomógł: 650
    Ocena: 12399
    Cały czas uważam, że połączenia są za długie. Mamy na forum udokumentowane przypadki, gdy też użytkownicy mieli takie kabelki jak u Ciebie i nie działało, dopiero skracanie pomagało.

    Oprócz tego spróbuj zamienić RX z TX (dla zasady).

    Jak programujesz, to postępuj tak:
    1. włącz read flash we flasherze
    2. niech on próbuje "getting bus"
    3. wtedy odłącz 3.3V ze strony modułu WiFi
    4. te 3.3V od strony modułu WiFi (NIE od zasilacza) zewrzyj do masy
    5. potem podłącz z powrotem te 3.3V do zasilacza...

    Możesz też spróbować innego konwertera USB na UART oraz spróbować podpinać 5V z USB na wejście AMS1117-3.3V i tym 5V robić power off/on.
    Pomogłem? Kup mi kawę.
  • #13 21142835
    mic_jan
    Poziom 11  
    Posty: 7
    Pomógł: 1
    Ocena: 1
    Udało się doprowadzić do tego, że można już flashować QS-WIFI-S10-C04 za pomocą TUYA Cloud Cutter.

    I wszystko by działało, ale można włączyć oba przekaźniki na raz, co spowodowałoby spalenie silnika oraz nie działa przycisk parowania tak jak w oprogramowaniu TUYA, że jak nie jest w trybie parowania, to obsługuje przekaźniki, że pierwsze naciśnięcie włącza, kolejne wyłącza pierwszy przekaźnik, kolejne włącza drugi przekaźnik, a kolejne naciśnięcie wyłącza drugi przekaźnik. Mam nadzieję, że nic nie pokićkałem.

    Nie działa również prawidłowo obsługa przycisków od rolet, bo naciśnięcie otwierania włączy przekaźnik, ale jak nacisnę zamykanie, to nie wyłączy przekaźnika otwierania i nie włączy zamykania, tylko doprowadzi do stanu obu włączonych przekaźników.

    Zastosowałem taki autoexec.bat:

    //Configurar alias  Aliases
    alias Set_Stop backlog setChannel 2 0; setChannel 1 0
    alias Set_Open backlog setChannel 1 1
    alias Set_Close backlog setChannel 2 1
    alias Start_Opening backlog stopAllScripts; startScript autoexec.bat openBlind
    alias Start_Closing backlog stopAllScripts; startScript autoexec.bat closeBlind
    alias Stop_All backlog stopAllScripts; startScript autoexec.bat stopBlind
    
    // Channel 60 segundos de trabajo
    setChannel 60 15
    
    //crear botones GUI  para el panel HTTP
    startDriver httpButtons
    
    setButtonEnabled 1 1
    setButtonLabel 1 "Open"
    setButtonCommand 1 Start_Opening
    
    setButtonEnabled 3 1
    setButtonLabel 3 "Close"
    setButtonCommand 3 Start_Closing
    
    setButtonEnabled 2 1
    setButtonLabel 2 "Stop"
    setButtonCommand 2 Stop_All
    setButtonColor 2 red
    
    // Ocultar los botones de los reles en la  GUI HTTP
    setChannelVisible 1 0
    setChannelVisible 2 0
    setChannelVisible 3 0
    
    // Cargar Event Handlers
    addEventHandler OnHold 26 Start_Closing
    addEventHandler OnHold 24 Start_Opening
    addEventHandler OnClick 11 Stop_All
    
    // Detener persiana al encender
    goto stopBlind
    return
    
    // Script abrir
    openBlind:
    Set_Stop
    delay_s 0.1
    Set_Open
    delay_s $CH60
    Set_Stop
    return
    
    // Script cerrer
    closeBlind:
    Set_Stop
    delay_s 0.1
    Set_Close
    delay_s $CH60
    Set_Stop
    return
    
    // Script detener
    stopBlind:
    Set_Stop
    return


    i otrzymałem to co poniżej i to działa, ale tylko z panelu web.
    Panel sterowania roletą w kuchni z przyciskami Open, Stop i Close.

    Co robię nie tak, albo jak doprowadzić do sytuacji podobnej z Tasmota, żeby był Interlock?

    Nie zapinałem jeszcze do HomeAssistanta to się nie wypowiem.
  • Pomocny post
    #14 21151245
    mic_jan
    Poziom 11  
    Posty: 7
    Pomógł: 1
    Ocena: 1
    Aktualizacja:
    Jako wkładu do importu template użyłem:
    
    {
      "vendor": "Tuya",
      "bDetailed": "0",
      "name": "QS-WIFI-S10-C04",
      "model": "Mini WiFi Curtain Module",
      "chip": "BK7231N",
      "board": "CBLC9",
      "flags": "1024",
      "keywords": [
       "curtain",
       "blind",
       "rollers",
       "roller",
       "shutters",
       "shutter",
       "awning",
       "sunblind",
       "marquee",
       "WiFi"
      ],
    "pins": {
      "6": "Btn;1",
      "7": "Rel;2",
      "8": "WifiLED_n;0",
      "9": "Rel;1",
      "24": "Btn_Tgl_All;0",
      "26": "Btn;2"
    },
    "command": "PowerSave 1",
    "image": "https://obrazki.elektroda.pl/1978468300_1713373135.jpg",
    "wiki": "https://www.elektroda.com/rtvforum/viewtopic.php?p=21049246"
    }
    


    natomiast jako logiki pliku autoexec.bat wzorowanego na wątku użytkownika @maxim2002 zmodyfikowanego pod moją Tuyę:
    
    // drivers
    startDriver httpButtons
    startDriver NTP
    ntp_timeZoneOfs 02:00
    
    // config
    powerSave 1
    setFlag 2 1 // MQTT Broadcast self state
    setFlag 6 1 // BTN Instant touch
    setFlag 27 1 // HASS discovery on IP change
    setFlag 41 0
    setButtonTimes 1 1 1
    
    // shutter cycle
    setChannel 40 42 // seconds
    
    // position (open 0 - N closed in seconds)
    setChannelType 41 ReadOnly
    setChannelLabel 41 "Position"
    setChannel 41 $CH40 // closed
    
    // relays
    setChannelType 1 toggle
    setChannelLabel 1 "Open"
    setChannel 1 0
    addChangeHandler Channel1 == 1 backlog cancelRepeatingEvent 1; cancelRepeatingEvent 2; setChannel 2 0; addRepeatingEventID $CH40 1 1 setChannel 1 0; setChannel 41 $CH41-1; addRepeatingEventID 1 -1 11 setChannel 41 $CH41-1
    addChangeHandler Channel1 == 0 cancelRepeatingEvent 11
    
    setChannelType 2 toggle
    setChannelLabel 2 "Close"
    setChannel 2 0
    addChangeHandler Channel2 == 1 backlog cancelRepeatingEvent 1; cancelRepeatingEvent 2; setChannel 1 0; addRepeatingEventID $CH40 1 2 setChannel 2 0; setChannel 41 $CH41+1; addRepeatingEventID 1 -1 22 setChannel 41 $CH41+1
    addChangeHandler Channel2 == 0 cancelRepeatingEvent 22
    
    return
    


    Ogólnie wszystko działa poprawnie ptócz pozycji, która przy zamknięciu jest 42, przy otwarciu dochodzi do 0, ale jak mam zamknięte, kliknę OPEN i ponownie kliknę OPEN, to pozycja robi się -42 i tak dalej. W drugą stronę też tak jest, że jak mam pozycję 0 i dam CLOSE to dojdzie do 42, i jak ponowię CLOSE to będę miał 84 jak na załączonych screenach:

    Zrzut ekranu aplikacji sterującej roletą w kuchni na smartfonie. Ekran sterowania roletą w kuchni z przyciskami Open i Close. Ekran aplikacji do zarządzania roletą w kuchni z przyciskami Open i Close. Ekran aplikacji do sterowania roletą w kuchni z przyciskami Open i Close. Zrzut ekranu z aplikacji sterującej roletą w kuchni.

    Próbowałem zrozumieć to co się dzieje w autoexec.bat, ale chyba póki co się poddałem.

    Może ktoś już borykał się z takim problemem?

    A czy jest możliwość dodania paska postępu?

    Do zrobienia mam jeszcze odchylanie lameli do góry, bo mam taką możliwość (lamele C jak na filmiku - https://www.youtube.com/watch?v=D9ZvJiSfyYU)
  • #15 21193274
    pedrotorresmillet
    Poziom 2  
    Posty: 2
    Mam problem z tym urządzeniem, gdy piny 6 i 26 są ustawione na "przycisk", nie działa (działało przez chwilę, ale nagle przestało). Następnie przeprowadziłem kilka testów i po zmianie roli na dInput_n działa w większości zgodnie z oczekiwaniami, ponieważ mogę otwierać i zamykać kurtynę, ale muszę trzymać przycisk wciśnięty do końca.

    Kod, którego używam w autoexec.bat to

    
    // Configure aliases
    alias Set_Stop backlog setChannel 2 0; setChannel 1 0
    alias Set_Open backlog setChannel 1 1
    alias Set_Close backlog setChannel 2 1
    alias Start_Opening backlog stopAllScripts; startScript autoexec.bat openBlind
    alias Start_Closing backlog stopAllScripts; startScript autoexec.bat closeBlind
    alias Stop_All backlog stopAllScripts; startScript autoexec.bat stopBlind
    
    // Channel 60 seconds of operation
    setChannel 60 25
    
    // Create GUI buttons for the HTTP panel
    startDriver httpButtons
    
    setButtonEnabled 1 1
    setButtonLabel 1 "Open"
    setButtonCommand 1 Start_Opening
    
    setButtonEnabled 3 1
    setButtonLabel 3 "Close"
    setButtonCommand 3 Start_Closing
    
    setButtonEnabled 2 1
    setButtonLabel 2 "Stop"
    setButtonCommand 2 Stop_All
    setButtonColor 2 red
    
    // Hide relay buttons from the HTTP GUI
    setChannelVisible 1 0
    setChannelVisible 2 0
    setChannelVisible 3 0
    
    // Debounce the physical buttons
    setButtonTimes 1 200 500 1000 0  // Debounce: 200ms for detecting the button press
    
    // Load Event Handlers for physical buttons with debounce
    addEventHandler OnHold 26 Start_Closing
    addEventHandler OnHold 6 Start_Opening
    addEventHandler OnClick 11 Stop_All
    
    // MQTT Commands for Home Assistant Integration
    addEventHandler mqttSubscribe persianaComedor/open Start_Opening
    addEventHandler mqttSubscribe persianaComedor/close Start_Closing
    addEventHandler mqttSubscribe persianaComedor/stop/set Stop_All
    
    // Stop blinds when starting
    goto stopBlind
    return
    
    // Script to open with stop toggle
    openBlind:
    if  $CH1!=0 then Stop_All
    Set_Stop
    delay_s 0.1
    Set_Open
    delay_s $CH60
    Set_Stop
    return
    
    // Script to close with stop toggle
    closeBlind:
    if  $CH2!=0 then Stop_All
    Set_Stop
    delay_s 0.1
    Set_Close
    delay_s $CH60
    Set_Stop
    return
    
    // Script to stop
    stopBlind:
    Set_Stop
    return
    


    I przez kilka godzin, kiedy działał poprawnie (jako "przycisk") kliknięcie przycisku powodowało, że kurtyna uruchamiała skrypty Start_Closing i Start_Opening, teraz jako dInput po prostu uruchamia przekaźnik po naciśnięciu. Jakieś pomysły, co może to powodować?
  • #16 21193725
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14433
    Pomógł: 650
    Ocena: 12399
    pedrotorresmillet napisał:
    (Działało przez chwilę, ale nagle przestało).
    .
    Czy podejrzewasz, że jakaś aktualizacja coś zepsuła? A może przestał działać sam z siebie? Czy byłbyś w stanie zawęzić, która aktualizacja (jeśli w ogóle) psuje skrypt?
    Pomogłem? Kup mi kawę.
  • #17 21194168
    pedrotorresmillet
    Poziom 2  
    Posty: 2
    >>21193725
    Początkowo myślałem, że to może być przyczyną, ponieważ byłem w OpenBK7231N_1.17.654 i zaktualizowałem do OpenBK7231N_1.17.656, ale próbowałem obniżyć wersję i nie naprawiło to problemu.
    Ale prawdą jest również, że skonfigurowałem nowe urządzenie bezpośrednio w OpenBK7231N_1.17.656 i od samego początku musiałem używać dInput zamiast przycisku.

    Metodę dInput znalazłem bawiąc się wyszukiwarką GPIO, przy użyciu przycisku nie wykrywa żadnej zmiany wartości.
  • REKLAMA
  • #18 21217204
    vincenzoernst1
    Poziom 8  
    Posty: 85
    Pomógł: 3
    Ocena: 7
    hmmm.

    Widzę inne zachowanie Tasmota i Openbeken na HA.

    Interfejs użytkownika z ustawieniami Tasmota i OpenBeken na Home Assistant. .

    Oznaczyłem Tasmota jako Tasmota.
    Przyciski Tasmota znacznie lepiej pasują do funkcji. W jaki sposób OB wysyła wiadomości mqtt? Jak możemy to osiągnąć: strzałka w górę / w dół i przycisk stop pośrodku?
  • #19 21395311
    lktrdng
    Poziom 5  
    Posty: 15
    Pomógł: 1
    Ocena: 2
    Cześć chłopaki, dzięki za informacje w tym poście. Mam również jeden z tych BK7231N z płytką CBLC9 przylutowaną do płyty głównej.
    Udało mi się go uruchomić, ale ponieważ nie byłem do końca pewny zrozumienia automatyzacji zamieszczonych tutaj (jestem nowy w openbeken) i nie chciałem żadnej logiki blokującej, zbudowałem własną i chciałem się nią podzielić z wami wszystkimi, może ktoś uzna to za przydatne :D .

    To jest rysunek maszyny stanów mojej logiki:

    Diagram maszyny stanów przedstawiający logikę otwierania i zamykania. .

    A oto kod mojego autoexec.bat (na wszelki wypadek musiałem utworzyć w nim kanały IO).
    
    // State machine
    //0: stopped/unknown position
    //1: opening
    //2: closing
    //3: stopped/opened
    //4: stopped/closed
    
    SetPinChannel 6 12
    SetPinRole 6 dInput
    SetPinChannel 7 2
    SetPinRole 7 Rel
    SetPinChannel 8 0
    SetPinRole 8 WifiLED_n
    SetPinChannel 9 1
    SetPinRole 9 Rel
    SetPinChannel 24 13
    SetPinRole 24 dInput
    SetPinChannel 26 11
    SetPinRole 26 dInput
    
    startDriver httpButtons
    setButtonEnabled 41 1
    setButtonLabel 41 Abrir
    setButtonEnabled 42 1
    setButtonLabel 42 Cerrar
    
    setChannelType 43 ReadOnly
    ClampChannel 43 0 4
    SetChannelVisible 43 0
    setChannelLabel 43 State 1
    
    alias goto-opening-then-opened backlog setChannel 2 0; setChannel 1 1; setChannel 43 1; addRepeatingEventID 20 1 1 goto-opened
    alias goto-opened backlog setChannel 1 0; setChannel 43 3
    
    alias goto-closing-then-closed backlog setChannel 1 0; setChannel 2 1; setChannel 43 2; addRepeatingEventID 20 1 2 goto-closed
    alias goto-closed backlog setChannel 2 0; setChannel 43 4
    
    alias goto-stop backlog cancelRepeatingEvent 1; cancelRepeatingEvent 2; setChannel 1 0; setChannel 2 0; setChannel 43 0
    
    //btn_open
    alias btn-open if $CH43==0||$CH43==2||$CH43==4 then goto-opening-then-opened else btn-open-cancel
    alias btn-open-cancel if $CH43==1 then goto-stop
    addChangeHandler Channel11 == 0 btn-open
    
    //btn_close
    alias btn-close if $CH43==0||$CH43==1||$CH43==3 then goto-closing-then-closed else btn-close-cancel
    alias btn-close-cancel if $CH43==2 then goto-stop
    addChangeHandler Channel12 == 0 btn-close
    
    //soft_btn_open
    setButtonCommand 41 btn-open
    
    //soft_btn_close
    setButtonCommand 42 btn-close
    
    // Schedule automatic open and close based on NTP time
    startDriver NTP
    // set local timeserver
    ntp_setServer 192.168.1.1
    // set timezone
    ntp_timeZoneOfs +3
    
    //schedule open time
    // every day except weekends (0x01 sun, 0x02 mon, 0x04 tue, 0x08 wed, 0x10 thu, 0x20 fri, 0x40 sat) > 0011.1110 = 0x3E
    addClockEvent 08:00:00 0x3e 1 btn-open
    
    //schedule close time
    addClockEvent 18:00:00 0xff 2 btn-close
    


    Zauważysz, że użyłem dInput zamiast przycisku, to dlatego, że nie byłem w stanie sprawić, by działało inaczej :P .
    Ponadto czas, w którym kurtyna zostanie uznana za całkowicie otwartą lub zamkniętą, wynosi 20 sekund, co można dostosować w zależności od rzeczywistego świata implementacji.

    To jest interfejs sieciowy:

    Interfejs użytkownika oprogramowania do zarządzania kurtyną z przyciskami i stanem kanału.

    Zasadniczo dodano 3 pola:
    Stan kanału: Tutaj możesz sprawdzić, w jakim stanie jest maszyna stanów, na zrzucie ekranu jest w stanie = 3, co oznacza pełne otwarcie.
    Przycisk "Abrir": AKA soft_btn_open, aby wywołać polecenie otwarcia.
    Przycisk "Cerrar": AKA soft_btn_close, aby wywołać polecenie zamknięcia.
    Wszystko inne jest domyślne

    Moim następnym krokiem jest teraz zautomatyzowanie otwierania/zamykania w określonych godzinach dnia.
    AKTUALIZACJA: Dodano kilka linijek na końcu kodu, aby otwierać kurtynę o 8 rano w dni robocze i zamykać codziennie o 6 wieczorem. Nowe oczekiwania: uwzględnienie wschodu/zachodu słońca, uwzględnienie czasu letniego.

    UPDATE2: Właśnie odkryłem (może to być oczywiste), że można uruchamiać polecenia otwierania/zamykania bezpośrednio wywołując utworzone aliasy, takie jak http://deviceip/cm?cmnd=btn-open lub http://deviceip/cm?cmnd=btn-close.
  • #20 21410291
    amos2
    Poziom 3  
    Posty: 3
    cześć
    jestem nowy w "OpenBK"
    Mam QS-WIFI-S10-C4 i z powodzeniem wypaliłem go z nowym oprogramowaniem.
    Jak zmienić szablon wejściowy?
    Kiedy wklejam ten z postu, po kilku sekundach wraca do starego.
    Widzę również odniesienie do pliku "autoexec.bat", jak go używasz, czy jest na OpenBK?

    tnx Amos
  • #21 21410306
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14433
    Pomógł: 650
    Ocena: 12399





    Pomogłem? Kup mi kawę.
  • #22 21410407
    amos2
    Poziom 3  
    Posty: 3
    Cześć
    po skonfigurowaniu QS-WIFI-S10-C04

    Widzę, że napięcie AC wynosi ~19 V na przekaźniku, gdy nie jest aktywowany
    po aktywacji wynosi 220
    czy to normalne, czy to tylko mój model?
    (Spodziewam się ~0V, gdy przekaźnik jest wyłączony)

    urządzenie nie jest jeszcze podłączone do silnika
  • #23 21628727
    vincenzoernst1
    Poziom 8  
    Posty: 85
    Pomógł: 3
    Ocena: 7
    @amos2

    to prawda. zawsze jest małe napięcie. to tylko dlatego, że jest to tani hw.


    @divadiow

    Kolejny, którego używam teraz na stałe.

    czy możesz grepować konfigurację z pierwszego postu (>>21049246 )

    i zrobić PR, plz?
  • REKLAMA
  • #25 21628775
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14433
    Pomógł: 650
    Ocena: 12399
    Ciekawe, wygląda na to, że kilka dni temu dostałem to samo urządzenie z polskiego Allegro.
    https://github.com/openshwprojects/FlashDumps/commit/d62f39e0e9e542890117b6c126ab352c5e7d27e6
    Pomogłem? Kup mi kawę.
  • #26 21628866
    vincenzoernst1
    Poziom 8  
    Posty: 85
    Pomógł: 3
    Ocena: 7
    >>21628758

    THX!
  • #27 21708885
    ra3vie674
    Poziom 1  
    Posty: 1
    null napisał:
    Я только что обнаружил (это может быть очевидно), что вы можете запускать команды открытия/закрытия, напрямую вызывая созданные псевдонимы, например http://deviceip/cm?cmnd=btn-open или http://deviceip/cm?cmnd=btn-close соответственно.

    Jak wywołać te polecenia z Home Assistant?
  • Pomocny post
    #28 21708902
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14433
    Pomógł: 650
    Ocena: 12399
    Podobnie jak w przypadku Tasmota - opublikuj w temacie cmnd.
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/mqttTopics.md
    Tabela z tematami MQTT obsługiwanymi przez urządzenie OBK .
    Pomogłem? Kup mi kawę.
  • #29 21749706
    chemik_16
    Poziom 27  
    Posty: 999
    Pomógł: 74
    Ocena: 127
    Mały moduł elektroniczny z oznaczeniami pinów na białym podłożu Mały moduł elektroniczny z kodem QR na białym podłożu z końcówką śrubokręta obok Moduł przekaźnikowy z dwoma przekaźnikami i złączami śrubowymi na płytce PCB Zbliżenie na zieloną płytkę drukowaną z widocznymi elementami elektronicznymi SMT
    dostałem świeżą wersję tego modułu, ma inny mcu, pinout i kilka drobnych zmian w pcb.
    udało się go odczytać jako 7238, inne nie powiodły się
    Klucz szyfrowania odczytany!
    Klucz szyfrowania: 00e06e00 00e06e00 00e06e00 00e06e00
    ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^
    OSTRZEŻENIE! Niestandardowy klucz szyfrowania!
    Jeśli wynosi zero, może to również oznaczać, że odczyt jest wyłączony.
    Zgłoś to na forum https://www.elektroda.com/rtvforum/forum51.html
    Lub po prostu spróbuj użyć trybu BK7231M
    ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^

    Z zewnątrz wygląda tak samo, ten sam napis, ta sama obudowa, inny pcb.
    Zbliżenie modułu elektronicznego z kondensatorem i chipem z kodem QR Zbliżenie na przycisk i port USB na zielonej płytce drukowanej
    Załączniki:
    • readResult_BK7238_QIO_qq_2025-12-11-22-16-51.bin (2 MB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #30 21749822
    divadiow
    Poziom 38  
    Posty: 4868
    Pomógł: 424
    Ocena: 863
    Interesujące. Nie widziałem jeszcze T1-M w urządzeniu, nie sądzę
    https://developer.tuya.com/en/docs/iot/T1-M-Module-Datasheet?id=Ke33yw7g0vimt

    Czy masz kompletny działający szablon urządzenia?

    Dodano po 21 [minutach]:

    tutaj jest boot log z kopii zapasowej. to bardzo gadatliwy firmware

    Kod: Text
    Zaloguj się, aby zobaczyć kod

Podsumowanie tematu

✨ Dyskusja dotyczy konfiguracji pinów i flashowania modułu kurtyny QS-WIFI-S10-C04 opartego na chipie BK7231N i płytce CBLC9, podobnego do RTX WCM1MR. Użytkownicy opisują proces flashowania OpenBK na Linux CLI, wskazując na konieczność odłączenia i ponownego podłączenia zasilania 3,3 V, aby magistrala UART została wykryta. Poruszono kwestie problemów z komunikacją UART bez odlutowywania, długich przewodów oraz zasilania modułu, które mogą powodować błędy podczas flashowania. Wskazano narzędzia takie jak BK7231GUIFlashTool i Tuya Cloud Cutter do odczytu i wgrywania firmware. Omówiono konfigurację pinów, gdzie piny 6 i 26 pełnią funkcję przycisków lub wejść cyfrowych (dInput), z uwagi na problemy z wykrywaniem zmian stanu przycisków. Przedstawiono przykładowe skrypty autoexec.bat do sterowania przekaźnikami i obsługi przycisków, z uwzględnieniem logiki zapobiegającej jednoczesnemu załączeniu obu przekaźników, co mogłoby uszkodzić silnik. Porównano zachowanie OpenBK i Tasmota w integracji z Home Assistant, zwracając uwagę na różnice w obsłudze MQTT i przycisków. Wskazano na konieczność skracania przewodów i poprawnego zasilania (np. 12 V do AMS1117-3.3V) dla stabilnego działania. Użytkownicy dzielą się także gotowymi konfiguracjami i propozycjami zmian w repozytoriach OpenBeken. Podsumowując, flashowanie i konfiguracja QS-WIFI-S10-C04 wymaga odpowiedniego podejścia do zasilania, połączeń UART oraz dostosowania konfiguracji pinów i skryptów sterujących w OpenBK.
Wygenerowane przez model językowy.
REKLAMA