Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU

koloksk1 01 Feb 2023 21:48 156 9
  • #1
    koloksk1
    Level 3  
    Po wgraniu oprogramowania OpenBeken na moduł ściemniacza, skonfigurowaniu portów, nie działa sterowanie ściemnianiem. Dioda, przycisk na płytce oraz zewnętrzny normalnie działają. Wydaje mi się, że może być jakiś problem z komunikacją, z MCU (model mcu HK HK32F030MF4P6). Mosfeta udało mi się załączyć ustawiając port P7 na dInput kanał 2 (nie zawsze działa). Może ktoś wie jak rozwiązać ten problem?

    Używam skryptu:
    
    startDriver TuyaMCU
    setChannelType 1 toggle
    setChannelType 2 dimmer
    tuyaMcu_setDimmerRange 0 1000
    linkTuyaMCUOutputToChannel 1 1 1
    linkTuyaMCUOutputToChannel 2 2 2


    Zdjęcia modułu:
    [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU
    [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU
    [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU
    [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU
    [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU

    Źródło zdjęć: https://github.com/arendst/Tasmota/discussions/14506

    Lista portów:
    P6(PWM0) - przełącznik zewnętrzny (S1)
    P7(PWM1) - ?
    P8(PWM2) - dioda led na płytce
    P9(PWM3) - przycisk na płytce

    Lista DPID Tuya:
    1 - switch
    2 - dimmer
  • #2
    p.kaczmarek2
    Moderator Smart Home
    Witaj, masz ciekawe urządzenie, nie widziałem go wcześniej i nie analizowałem, ale spróbuję jakoś pomóc "w ciemno".

    koloksk1 wrote:
    Mosfeta udało mi się załączyć ustawiając port P7 na dInput kanał 2 (nie zawsze działa).

    dInput kopiuje wartość High/Low z danego pinu do kanału, używając tego odcinasz sobie możliwość sterowania przez sieć. Chyba raczej chcesz użyć TglChannelOnToggle, wtedy zmiana stanu na switchu przełącza kanał w przeciwny stan, wiec sterowanie przez WiFi też działa.


    koloksk1 wrote:

    Używam skryptu:
    
    startDriver TuyaMCU
    setChannelType 1 toggle
    setChannelType 2 dimmer
    tuyaMcu_setDimmerRange 0 1000
    linkTuyaMCUOutputToChannel 1 1 1
    linkTuyaMCUOutputToChannel 2 2 2

    Chwila, czyli używasz jednocześnie kanału 2 jako dimmer (ściemniacz) oraz jako wartość dInput? Przecież dInput będzie Ci ustawiać ten kanał na wartości 0 lub 1 i ciągle będzie Ci nadpisywać wartość ściemniacza z tego kanału. Nie możesz przechowywać dwóch rzeczy w jednej zmiennej.

    Musisz albo swój dInputowy kanał dać na coś innego niż kanał 2 (np. na wolne 3), albo kanał ze ściemniaczem (dimmer) dać na inny slot niż te 2.

    Przypominam składnię linkTuyaMCUOutputToChannel :
    
    linkTuyaMCUOutputToChannel	[dpId][varType][channelID]
    

    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/commands.md
    [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU
  • #3
    koloksk1
    Level 3  
    p.kaczmarek2 wrote:
    Chwila, czyli używasz jednocześnie kanału 2 jako dimmer (ściemniacz) oraz jako wartość dInput? Przecież dInput będzie Ci ustawiać ten kanał na wartości 0 lub 1 i ciągle będzie Ci nadpisywać wartość ściemniacza z tego kanału. Nie możesz przechowywać dwóch rzeczy w jednej zmiennej.
    Musisz albo swój dInputowy kanał dać na coś innego niż kanał 2 (np. na wolne 3), albo kanał ze ściemniaczem (dimmer) dać na inny slot niż te 2.


    Przyciski(toggle, dimmer) połączone do tuyamcu nie reagują od początku, czyli przed ustawieniem dinput na P7. Dlatego szukałem innego sposobu na załączenie mosfeta i przypadkiem zauważyłem, że po ustawieniu dinput mosfet się czasami załącza.
    Dodam także, że nie mam żadnych logów komunikacji z tuyamcu, jedynie wyświetla się komunikat o załączeniu drivera.
  • #4
    p.kaczmarek2
    Moderator Smart Home
    Za bardzo chaos się zrobił, można się pogubić.

    Po kolei... logi.
    [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU
    Zacząłbym od tego.

    Następnie... odpiąłbym wszystkie ustawienia dInputów, tzn. ustawił wszystkie piny na bez roli... by nie mieszały...

    Potem reboot, ale z tym skryptem:
    
    
    Kod: [rozwiń] [zaznacz wszystko][Kopiuj do schowka]
    
    startDriver TuyaMCU
    setChannelType 1 toggle
    setChannelType 2 dimmer
    tuyaMcu_setDimmerRange 0 1000
    linkTuyaMCUOutputToChannel 1 1 1
    linkTuyaMCUOutputToChannel 2 2 2
    


    I wtedy bym sprawdzał, czy w ogóle cokolwiek reaguje na kontrolki z panelu WWW, tj. na kontrolkę toggle (tutaj kanał 1) oraz kontrolkę slider (tutaj kanał 2).

    Można też spróbować szukać całkiem w innym miejscu... przykładowo, czy w ogóle komunikacja z MCU żyje? A może trzeba inny baud ustawić? Wykonywałeś jakiekolwiek testy z uart snifferem? Raczej nie?
    
    tuyaMcu_setBaudRate 115200
    


    A MQTT masz podłączone?
  • #5
    koloksk1
    Level 3  
    p.kaczmarek2 wrote:
    Za bardzo chaos się zrobił, można się pogubić.

    Po kolei... logi.

    Zacząłbym od tego.

    Następnie... odpiąłbym wszystkie ustawienia dInputów, tzn. ustawił wszystkie piny na bez roli... by nie mieszały...

    Potem reboot, ale z tym skryptem:


    Kod: [rozwiń] [zaznacz wszystko][Kopiuj do schowka]

    startDriver TuyaMCU
    setChannelType 1 toggle
    setChannelType 2 dimmer
    tuyaMcu_setDimmerRange 0 1000
    linkTuyaMCUOutputToChannel 1 1 1
    linkTuyaMCUOutputToChannel 2 2 2




    I wtedy bym sprawdzał, czy w ogóle cokolwiek reaguje na kontrolki z panelu WWW, tj. na kontrolkę toggle (tutaj kanał 1) oraz kontrolkę slider (tutaj kanał 2).


    Dla pewności wyczyściłem całą konfigurację.

    Po zmianie loglevel na 7 zaczęło pokazywać komunikaty:
    ExtraDebug:TuyaMCU:TuyaMCU heartbeat_valid = 0, product_information_valid=0, self_processing_mode = 1, wifi_state_valid = 0, wifi_state_timer=0
    

    oraz przy zmianie dimmera:
    Debug:TuyaMCU:TuyaMCU_OnChannelChanged: mapped value 100 (OpenBK7321T_App range) to 1000 (TuyaMCU range)
    


    p.kaczmarek2 wrote:
    Można też spróbować szukać całkiem w innym miejscu... przykładowo, czy w ogóle komunikacja z MCU żyje? A może trzeba inny baud ustawić?

    Zmienienie bauda na 115200 nic nie dało.

    p.kaczmarek2 wrote:
    Wykonywałeś jakiekolwiek testy z uart snifferem? Raczej nie?

    Nie wykonywałem.

    p.kaczmarek2 wrote:
    A MQTT masz podłączone?

    Aktualnie nie.
  • #6
    p.kaczmarek2
    Moderator Smart Home
    Z tych logów nie wynika by jakakolwiek komunikacja z MCU następowała.

    Czy jesteś autorem tych zdjęć i wpisów z zalinkowanego tematu Tasmoty?

    Chwila, moment....
    koloksk1 wrote:

    [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU

    Przecież z tego zdjęcia (oraz z wyprowadzeń LMA35 na zdjęciu wcześniej) wynika, że U1_RX, potrzebne dla TuyaMCU wcale nie jest podłączone! Nie ma fizycznego połączenia miedzy RX portu TyuaMCU a układem scalonym TuyaMCU.

    Czy to urządzenie w ogóle korzysta z TuyaMCU? Skąd wzięły się dpID, jak je określono?

    Dodano po 1 [godziny] 33 [minuty]:

    koloksk1 wrote:
    Mosfeta udało mi się załączyć ustawiając port P7 na dInput kanał 2 (nie zawsze działa)

    a gdyby wyłączyć totalnie TuyaMCU, skasować cały autoexec.bat, zrebootować i ustawić P11 (TX1) na Relay i spróbować nim przełączać?
  • #7
    koloksk1
    Level 3  
    p.kaczmarek2 wrote:
    Czy jesteś autorem tych zdjęć i wpisów z zalinkowanego tematu Tasmoty?

    Nie jestem autorem dlatego podałem źródło. Mój moduł jest identyczny i jest w nim ten sam układ ZH-Z06-A rev.A .

    Dorzucam kilka moich zdjęć.
    [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU


    p.kaczmarek2 wrote:
    Czy to urządzenie w ogóle korzysta z TuyaMCU? Skąd wzięły się dpID, jak je określono?

    dpID wywnioskowałem według tego poradnika
    https://www.zigbee2mqtt.io/advanced/support-n...ya_data_points.html#_4-create-a-cloud-project

    Dane z dumpa domyślnego softa tuya (storage.json):
    
    {
    	"gw_bi": {
    		"uuid": "8a3ee6ed8ec6c49c",
    		"psk_key": "xxx",
    		"auth_key": "xxx",
    		"ap_ssid": "SmartLife",
    		"ap_passwd": null,
    		"country_code": null,
    		"bt_mac": null,
    		"bt_hid": null,
    		"prod_test": false,
    		"fac_pin": "wpzhrpz3k0sxl6ew"
    	},
    	"gw_di": {
    		"abi": 0,
    		"id": "bf558876b13a40702dh8xx",
    		"swv": "1.0.2",
    		"bv": "40.00",
    		"pv": "2.2",
    		"lpv": "3.3",
    		"pk": "wpzhrpz3k0sxl6ew",
    		"firmk": null,
    		"cadv": "1.0.3",
    		"cdv": "1.0.0",
    		"dev_swv": "1.0.2",
    		"s_id": "0000037fs2",
    		"dtp": 0,
    		"sync": 0,
    		"attr_num": 0,
    		"mst_tp_0": 0,
    		"mst_ver_0": null,
    		"mst_tp_1": 0,
    		"mst_ver_1": null,
    		"mst_tp_2": 0,
    		"mst_ver_2": null,
    		"mst_tp_3": 0,
    		"mst_ver_3": null
    	},
    	"tls_ca_cnt": 0,
    	"gw_wsm": {
    		"nc_tp": 1,
    		"ssid": null,
    		"passwd": null,
    		"md": 0,
    		"random": 0,
    		"wfb64": 1,
    		"stat": 1,
    		"token": null,
    		"region": null,
    		"reg_key": null,
    		"dns_prio": 0
    	},
    	"is_stride": 0,
    	"gw_ai": {
    		"key": "xxx",
    		"lckey": "xxx",
    		"h_url": "http://a.tuyaeu.com/d.json",
    		"h_ip": "52.58.178.100",
    		"hs_url": null,
    		"hs_ip": null,
    		"hs_psk": "https://a3.tuyaeu.com/d.json",
    		"hs_psk_ip": "3.121.131.36",
    		"mqs_url": null,
    		"mqs_ip": null,
    		"mq_url": "m2.tuyaeu.com:1883",
    		"mq_ip": "18.192.43.219",
    		"ai_sp": null,
    		"ai_sp_ip": null,
    		"mq_psk": "m2.tuyaeu.com:8886",
    		"mq_psk_ip": "3.64.85.28",
    		"time_z": "+01:00",
    		"s_time_z": "[[1679792400,1698541200],[1711846800,1729990800]]",
    		"wx_app_id": null,
    		"wx_uuid": null,
    		"dy_tls_m": 2,
    		"cloud_cap": 1025,
    		"psk21_key": null
    	},
    	"0000037fs2": [
    		{
    			"type": "obj",
    			"mode": "rw",
    			"property": {
    				"type": "bool"
    			},
    			"id": 1
    		},
    		{
    			"type": "obj",
    			"mode": "rw",
    			"property": {
    				"min": 10,
    				"max": 1000,
    				"scale": 0,
    				"step": 1,
    				"type": "value"
    			},
    			"id": 2
    		},
    		{
    			"type": "obj",
    			"mode": "rw",
    			"property": {
    				"min": 10,
    				"max": 1000,
    				"scale": 0,
    				"step": 1,
    				"type": "value"
    			},
    			"id": 3
    		},
    		{
    			"type": "obj",
    			"mode": "rw",
    			"property": {
    				"min": 0,
    				"max": 86400,
    				"scale": 0,
    				"step": 1,
    				"type": "value"
    			},
    			"id": 6
    		},
    		{
    			"type": "obj",
    			"mode": "rw",
    			"property": {
    				"range": [
    					"off",
    					"on",
    					"memory"
    				],
    				"type": "enum"
    			},
    			"id": 14
    		}
    	],
    	"em_sys_env": "bk7231t",
    	"wf_start_md": 3,
    	"timer_arr": {
    		"lastFetchTime": 0,
    		"cnt": 0
    	}
    }
    


    Posiadam całego dumpa fw tuya z przed instalacji openbeken, jeśli byłby potrzebny do analizy to mogę go przesłać.
    p.kaczmarek2 wrote:
    a gdyby wyłączyć totalnie TuyaMCU, skasować cały autoexec.bat, zrebootować i ustawić P11 (TX1) na Relay i spróbować nim przełączać?

    sprawdziłem, nadal zero reakcji.
  • #8
    koloksk1
    Level 3  
    Po wstępnym przeanalizowaniu ścieżek doszedłem do wniosku, że pin P7 (PWN1) nie jest do niczego podłączony. Oraz wygląda na to że BK7231T komunikuje się z układem HK32F030MF4P6 używając wyłącznie pinów tx oraz sck. Zrobiłem uproszczony schemat połączeń:
    [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU
    [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU

    Kilka dodatkowych zdjęć:
    [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU [BK7231T] Ściemniacz OXT 1ch WiFi Tuya - OpenBeken problem z ściemnianiem / MCU
  • #9
    p.kaczmarek2
    Moderator Smart Home
    Tak jak pisałem - moim zdaniem to nie jest TuyaMCU.

    Nie da się raczej UART przenieść z określonych pinów na BK, zawsze te same piny to UART1 i UART2.

    Najlepiej by było to sprawdzić jakimś analizatorem logicznym, ewentualnie można dla zasady jeszcze sprawdzić, czy to nie jest coś w stylu jeden sygnał 1 lub 0 by włączać ściemniacz a drugi to np. PWM by ustawić jasność... ale nie sądzę.

    Może to coś w stylu I2C, ale to z pinów też nie wynika, prawda? Na tabelce widzę jakieś I2C ale nie tam gdzie chcemy...

    Ciężka sytuacja. Pierwszy raz to spotykam. Miałeś wyjątkowego pecha, że trafiłeś na urządzenie z czymś co nie jest aż tak często spotykane jak TuyaMCU, które dałoby się łatwo ogarnąć i jest już wspierane.

    Da się gdzieś kupić ten ściemniacz, ale z tym konkretnym wnętrzem, by go przeanalizować na spokojnie na fabrycznym wsadzie?