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

BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z

minusync 08 Sty 2023 12:05 16467 98
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
  • Typowy zasilany bateryjnie czujnik temperatury i wilgotności.
    Pochodzi z Aliexpress, ale jak zawsze tam proste wyszukiwanie przynosi bardziej trafne wyniki niż patrzenie na konkretnego sprzedawcę

    BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z
    BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z







    Mogę potwierdzić, że flashowanie za pomocą Pythona i pliku OpenBK7231N_QIO działa. Wygląda na to, że nowe narzędzie do flashowania firmy OB nie jest jeszcze gotowe.
    Nie jestem też pewien, ale mówi się, że używa czujnika CHT8305.

    Arkusz danych CB3S: https://developer.tuya.com/en/docs/iot/cb3s?id=Kai94mec0s076
    CHT8305: http://sensylink.com/a/products/lm2/CHT8305.html



    BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z


    W tej chwili wydaje się, że nie ma jeszcze sterownika, ale wydaje się, że dyskusja na temat sterownika CHT8305 toczy się tutaj https://github.com/openshwprojects/OpenBK7231T_App/issues/584

    Nie mam też pojęcia jak ustawić piny do tego urządzenia. Oprócz informacji o temperaturze i szumie, powinny być również odbierane informacje o akumulatorze. Ponadto to urządzenie prawdopodobnie wymaga opcji głębokiego uśpienia. (Pierwotnie w aplikacji miała możliwość ustawienia niestandardowego czasu odpytywania)

    Aktualizacja:
    Podsumowanie, jak sprawić, by czujnik działał.

    Jeśli pomyślnie nadpisałeś oprogramowanie czujnika, połącz się z tymczasowym punktem dostępowym czujnika i skonfiguruj Wi-Fi i MQTT na adresie przeglądarki 192.168.4.1.
    Po ponownym uruchomieniu czujnika nowy adres czujnika można znaleźć w tabeli dzierżawy DHCP routera.
    Połącz się z przeglądarki internetowej z tym adresem.
    Ustaw flagi czujnika 10 i 19 na true.
    W konfiguracji zakładki ogólnej ustaw czas pracy w sekundach coś btwn 5-15 sekund.
    Otwórz aplikację internetową i zaktualizuj oprogramowanie do najnowszej wersji. (opcjonalny)
    Utwórz plik u desktop autoexec.bat o następującej treści:

    startDriver tuyaMCU
    startDriver tmSensor
    linkTuyaMCUOutputToChannel 1 val 1
    setChannelType 1 Temperature_Div10
    linkTuyaMCUOutputToChannel 2 val 2
    setChannelType 2 Humidity


    upuść plik bat do pola systemu plików (w aplikacji internetowej).
    Uruchom ponownie czujnik.
    Poczekaj kilka minut, aby sprawdzić, czy czujnik odczytuje dane. Na stronie głównej czujnika powinieneś również zobaczyć, że pracuje dwóch nurków.
    Jeśli OK, aby MQTT zadziałało, należy teraz odłączyć zewnętrzne zasilanie czujnika i pozostawić je tylko na bateriach. Udało mi się zostawić przewody zasilające chipa wewnątrz obudowy na wypadek, gdybym ich potrzebował w przyszłości.

    Jeśli korzystasz z Home Assistant, musisz dodać do pliku configuration.yaml następujące elementy (zmodyfikuj go zgodnie z własną konfiguracją!):

     mqtt:
      sensor:
        - name: "your sensor name here"
          unique_id: your sensor unique id here (you choose it yourself)
          state_topic: "your sensor mqtt topic here/1/get"
          unit_of_measurement: 'C'
          value_template: "{{ (value | float * 0.1 | round(1)) }}"
          
        - name: "your sensor name here"
          unique_id: your sensor unique id here (you choose it yourself)
          state_topic: "your sensor mqtt topic here/2/get"
          unit_of_measurement: '%'
          value_template: "{{ value }}"


    Uruchom ponownie HA i sprawdź swoje jednostki.
    Ustawienia te mogą ulec zmianie w dowolnym momencie, jeśli HA lub OpenBekken zmieni swoje oprogramowanie!

    Fajne? Ranking DIY
    O autorze
    minusync
    Poziom 8  
    Offline 
    minusync napisał 39 postów o ocenie 2. Jest z nami od 2023 roku.
  • #2 20374282
    p.kaczmarek2
    Moderator Smart Home
    Dziękuję, sterownik CHT8305 przesłany przez @ByteMangler zostanie dodany mam nadzieję, że jeszcze dzisiaj, tylko czekam na jego odpowiedź.

    W Twoim poście brakuje informacji gdzie kupić, czy możesz pokazać gdzie taki czujnik można kupić i załączyć zrzuty ekranu ze strony sprzedawcy do pierwszego posta?

    Na razie mamy tylko prosty tryb oszczędzania energii (polecenie: Oszczędzanie energii ), głęboki sen nie jest jeszcze gotowy, również go dodamy. @btsimonh może wiedzieć więcej na ten temat.

    Ale czekaj, co to jest IC1? Czy to nie TuyaMCU?

    IC2 to czujnik, myślę:
    BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z
    Czy możesz zamieścić lepszej jakości zdjęcie IC1 i IC2?

    Czy Q1 nie jest używany do włączania/wyłączania modułu WiFi przez IC1 (TuyaMCU)? W takim razie nie potrzebujesz głębokiego snu...

    Czy masz multimetr, aby wykonać podstawowe kontrole?

    Dwa nagłówki programistyczne sugerują również TuyaMCU:
    BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z
    Myślę, że to urządzenie używa TuyaMCU (UART) do komunikacji z IC1 i otrzymuje pomiar przez UART. Nie jest potrzebne i2c. Co więcej, nie jest potrzebny głęboki sen, ponieważ TuyaMCU (IC2) steruje zasilaniem modułu WiFi przez Q1. Moduł WiFi jest więc włączony tylko na chwilę, aby zgłosić pomiar, a następnie wyłączany przez tranzystor Q1.
    Pomogłem? Kup mi kawę.
  • #4 20374530
    p.kaczmarek2
    Moderator Smart Home
    Jakie jest oznaczenie na IC1 i Q2? Nie widzę dobrze.

    Czy RXD1 i TXD1 modułu BK7321 podłącza się do pinów IC1, a jeśli tak, to do których pinów?
    Pomogłem? Kup mi kawę.
  • #5 20374794
    minusync
    Poziom 8  
    Wykonanie czytelnych zdjęć jest niezwykle trudne, ponieważ światło od oznaczeń odbija się tylko pod różnymi kątami.

    o IC1 powinno być UM8005
    https://www.unicmicro.com/index.php/en/show-75-127.html
    ,,UM8005 wykorzystuje zoptymalizowaną architekturę systemu 8051 z maksymalną częstotliwością roboczą 24 MHz, bardzo niskim systemem zarządzania energią, prądem uśpienia 0,59 ?A i prądem roboczym 95 ?A/MHz. Obsługuje wybudzanie czasowe i nadaje się do różne scenariusze zastosowań o niskim poborze mocy; jednocyklowy EFLASH, odczyt SRAM, większość"
    http://www.gztrchip.com/product/list-18-1.html

    Nie mogłem znaleźć odpowiedniego arkusza danych dla 8005, więc nie mogę być w 100% pewien, że dobrze liczę piny, ale miernik podaje odczyt pinów
    TXD1 styki 16 i 9
    RXD1 styki 17 i 9


    BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z

    BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z


    Przeszukałem Google i znalazłem, jak sądzę, to samo urządzenie, o którym mowa tutaj, ale nie bezpośrednio z konfiguracją OB związaną z https://www.elektroda.com/rtvforum/topic3874289-150.html
  • #6 20375177
    superjedi
    Poziom 2  
    Cześć wszystkim,

    Zacząłem pracować nad tym modułem dziś rano, flashowanie nie stanowi problemu, (VCC/RX/TX/GND podłączone, wymaga resetu podczas procedury flashowania)

    Mogę potwierdzić, że UM8005 to MCU podłączony do czujnika temperatury.

    CB3S ma połączenie szeregowe @ 9600 bps do tego MCU.

    Podłączyłem analizator logiczny i zacząłem zrzucać komunikację szeregową między obydwoma układami scalonymi, fragment znajdziesz poniżej

    @p.kaczmarek2 to są moje pierwsze urządzenia OpenBK, czy patrząc na ten zrzut możesz stwierdzić, czy te transakcje są już obsługiwane?

    Dziękuję Ci !

    --- 20.2°C --- 50%
    
    > 55AA 00 01 0000 00
    < 55AA 00 01 0024 7B2270223A2271323965627773356164777965316C38222C2276223A22312E302E32227D 52 # {"p":"q29ebws5adwye1l8","v":"1.0.2"}
    
    > 55AA 00 02 0001 02 04
    < 55AA 00 02 0000 01
    
    > 55AA 00 02 0001 04 06
    < 55AA 00 02 0000 01
    < 55AA 00 10 0001 00 10
    < 55AA 00 05 0008 01020004000000CA DD  55AA 00 10 0002 0100 12
    > 55AA 00 05 0001 00 05
    < 55AA 00 05 0008 0202000400000032 46  55AA 00 05 0001 00 05
    
    --- 20.3°C --- 51%
    
    > 55AA 00 01 0000 00
    < 55AA 00 01 0024 7B2270223A2271323965627773356164777965316C38222C2276223A22312E302E32227D 52 # {"p":"q29ebws5adwye1l8","v":"1.0.2"}
    
    > 55AA 00 02 0001 03 05
    < 55AA 00 02 0000 01
    
    > 55AA 00 02 0001 04 06
    < 55AA 00 02 0000 01
    < 55AA 00 10 0001 00 10
    < 55AA 00 05 0008 01020004000000CB DE  55AA 00 10 0002 0100 12
    > 55AA 00 05 0001 00 05
    < 55AA 00 05 0008 0202000400000033 47  55AA 00 05 0001 00 05
    
    --- 20.8°C --- 63% ---
    
    > 55AA 00 02 0001 04 06
    < 55AA 00 02 0000 01
    < 55AA 00 10 0001 00 10
    < 55AA 00 05 0005 0F04000101 1E
    
    > 55AA 00 10 0002 0100 12
    > 55AA 00 05 0001 00 05
    < 55AA 00 05 0008 01020004000000D0 E3  55AA 00 05 0001 00 05
    < 55AA 00 05 0008 020200040000003F 53  55AA 00 05 0001 00 05
  • #7 20375288
    p.kaczmarek2
    Moderator Smart Home
    Nie sprawdzałem jeszcze dokładnie każdego pakietu, ale ogólnie wygląda on podobnie do obsługiwanego czujnika drzwi TuyaMCU. Warto spróbować

    Oto wyniki z mojego analizatora TuyaMCU:
    BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z
    
    55 AA	00	01		00 00		00	
    HEADER	VER=00	Product		LEN		CHK	
    
    55 AA	00	01		00 24	7B2270223A2271323965627773356164777965316C38222C2276223A22312E302E32227D	52	
    HEADER	VER=00	Product		LEN	{"p":"q29ebws5adwye1l8","v":"1.0.2"}	CHK	
    
    55 AA	00	02		00 01	02	04	
    HEADER	VER=00	McuConf		LEN	02	CHK	
    
    55 AA	00	02		00 00		01	
    HEADER	VER=00	McuConf		LEN		CHK	
    
    55 AA	00	02		00 01	04	06	
    HEADER	VER=00	McuConf		LEN	04	CHK	
    
    55 AA	00	02		00 00		01	
    HEADER	VER=00	McuConf		LEN		CHK	
    
    55 AA	00	10		00 01	00	10	
    HEADER	VER=00	Unk		LEN		CHK	
    
    55 AA	00	05		00 08	01020004000000CA	DD	
    HEADER	VER=00	Unk		LEN	fnId=1 Val V=202	CHK	
    
    55 AA	00	10		00 02	0100	12	
    HEADER	VER=00	Unk		LEN		CHK	
    
    55 AA	00	05		00 01	00	05	
    HEADER	VER=00	Unk		LEN		CHK	
    
    55 AA	00	05		00 08	0202000400000032	46	
    HEADER	VER=00	Unk		LEN	fnId=2 Val V=50	CHK	
    
    55 AA	00	05		00 01	00	05	
    HEADER	VER=00	Unk		LEN		CHK	
    
    55 AA	00	01		00 00		00	
    HEADER	VER=00	Product		LEN		CHK	
    
    55 AA	00	01		00 24	7B2270223A2271323965627773356164777965316C38222C2276223A22312E302E32227D	52	
    HEADER	VER=00	Product		LEN	{"p":"q29ebws5adwye1l8","v":"1.0.2"}	CHK	
    
    55 AA	00	02		00 01	03	05	
    HEADER	VER=00	McuConf		LEN	03	CHK	
    
    55 AA	00	02		00 00		01	
    HEADER	VER=00	McuConf		LEN		CHK	
    
    55 AA	00	02		00 01	04	06	
    HEADER	VER=00	McuConf		LEN	04	CHK	
    
    55 AA	00	02		00 00		01	
    HEADER	VER=00	McuConf		LEN		CHK	
    
    55 AA	00	10		00 01	00	10	
    HEADER	VER=00	Unk		LEN		CHK	
    
    55 AA	00	05		00 08	01020004000000CB	DE	
    HEADER	VER=00	Unk		LEN	fnId=1 Val V=203	CHK	
    
    55 AA	00	10		00 02	0100	12	
    HEADER	VER=00	Unk		LEN		CHK	
    
    55 AA	00	05		00 01	00	05	
    HEADER	VER=00	Unk		LEN		CHK	
    
    55 AA	00	05		00 08	0202000400000033	47	
    HEADER	VER=00	Unk		LEN	fnId=2 Val V=51	CHK	
    
    55 AA	00	05		00 01	00	05	
    HEADER	VER=00	Unk		LEN		CHK	
    
    55 AA	00	02		00 01	04	06	
    HEADER	VER=00	McuConf		LEN	04	CHK	
    
    55 AA	00	02		00 00		01	
    HEADER	VER=00	McuConf		LEN		CHK	
    
    55 AA	00	10		00 01	00	10	
    HEADER	VER=00	Unk		LEN		CHK	
    
    55 AA	00	05		00 05	0F04000101	1E	
    HEADER	VER=00	Unk		LEN	fnId=15 Enum V=1	CHK	
    
    55 AA	00	10		00 02	0100	12	
    HEADER	VER=00	Unk		LEN		CHK	
    
    55 AA	00	05		00 01	00	05	
    HEADER	VER=00	Unk		LEN		CHK	
    
    55 AA	00	05		00 08	01020004000000D0	E3	
    HEADER	VER=00	Unk		LEN	fnId=1 Val V=208	CHK	
    
    55 AA	00	05		00 01	00	05	
    HEADER	VER=00	Unk		LEN		CHK	
    
    55 AA	00	05		00 08	020200040000003F	53	
    HEADER	VER=00	Unk		LEN	fnId=2 Val V=63	CHK	
    
    55 AA	00	05		00 01	00	05	
    HEADER	VER=00	Unk		LEN		CHK	
    
    
    

    Przypomina mi się ten temat:
    https://www.elektroda.com/rtvforum/topic3914412.html
    Autoexec dla tego czujnika drzwi to:
    
    startDriver tuyaMCU
    startDriver tmSensor
    linkTuyaMCUOutputToChannel 1 val 1
    setChannelType 1 ReadOnly
    linkTuyaMCUOutputToChannel 3 val 3
    setChannelType 3 ReadOnly;
    

    w tym przypadku mamy różne identyfikatory dpID:
    - temperatura: fnId=1 Val V=208
    - wilgotność: fnId=2 Val V=63
    - idk jakiś config var? fnId=15 Enum V=1 (ten pakiet: < 55AA 00 05 0005 0F04000101 1E)

    więc konfiguracja dla tego urządzenia byłaby następująca:
    
    startDriver tuyaMCU
    startDriver tmSensor
    linkTuyaMCUOutputToChannel 1 val 1
    setChannelType 1 Temperature_Div10
    linkTuyaMCUOutputToChannel 2 val 2
    setChannelType 2 Humidity
    


    Potrzebne są również flagi:
    - Flaga 10 - [MQTT] Rozgłaszanie własnego stanu na połączeniu MQTT
    - Flaga 19 - [MQTT] Zawsze publikuj kanały używane przez TuyaMCU

    Wykonaj kopię zapasową 2 MB oprogramowania układowego i wypróbuj OBK z tą konfiguracją
    Pomogłem? Kup mi kawę.
  • #8 20375310
    superjedi
    Poziom 2  
    p.kaczmarek2 napisał:

    więc konfiguracja dla tego urządzenia byłaby następująca:
    
    startDriver tuyaMCU
    startDriver tmSensor
    linkTuyaMCUOutputToChannel 1 val 1
    setChannelType 1 Temperature_Div10
    linkTuyaMCUOutputToChannel 2 val 2
    setChannelType 2 Humidity
    


    Potrzebne są również flagi:
    - Flaga 10 - [MQTT] Rozgłaszanie własnego stanu na połączeniu MQTT
    - Flaga 19 - [MQTT] Zawsze publikuj kanały używane przez TuyaMCU


    Niestety, to się nie udaje
    flagi 10/19 ustawione na 1
    Skonfigurowano MQTT
    Tekst polecenia uruchamiania to:
    backlog startDriver tuyaMCU; startDriver tmSensor; linkTuyaMCUOutputToChannel 1 val 1; setChannelType 1 Temperature_Div10; linkTuyaMCUOutputToChannel 2 val 2; setChannelType 2 Humidity
    


    Indeks pokazuje:
    BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z

    Chcesz, żebym spróbował przechwycić komunikator szeregowy?
  • #10 20375362
    superjedi
    Poziom 2  
    Nieważne, wydaje się, że działa - zasilałem go bezpośrednio 3,3 V bez żadnych baterii, ale myślę, że gdzieś może być dioda i/lub inna ścieżka zasilania do MCU, która uniemożliwiła włączenie.

    Zrobię kilka dalszych testów i będę informować na bieżąco!

    Wielkie dzięki

    BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z
  • #11 20375371
    p.kaczmarek2
    Moderator Smart Home
    superjedi napisał:
    Nieważne, wygląda na to, że działa.

    Więc jest ok? Czy dostajesz wyniki do HA?
    Może być również konieczne ustawienie flag RETAIN w flags. Zawsze zachowuj.

    superjedi napisał:
    Zasilałem go bezpośrednio 3,3 V bez żadnych baterii, ale myślę, że gdzieś może być dioda i/lub inna ścieżka zasilania do MCU, która uniemożliwiła włączenie go.

    Masz na myśli 3,3V bezpośrednio do modułu WiFi?
    Nie, nie możesz tego zrobić. To nie zadziała w ten sposób.

    Po pierwsze, MCU jest zasilany przez tranzystor (Q1), którego podstawa jest kontrolowana przez MCU, więc 3,3 V nie będzie płynąć wstecz.

    Po drugie, wyniki można uzyskać tylko wtedy, gdy MCU zdecyduje się obudzić i włączyć moduł WiFi. Nie możesz włączyć samego modułu WiFi i oczekiwać, że MCU zareaguje.

    Z tego powodu tego rodzaju urządzenia są TRUDNE w obsłudze.
    I uwaga - Tasmota ma ten sam problem! Jest to problem niezależny od oprogramowania układowego.
    Pomogłem? Kup mi kawę.
  • #13 20375505
    p.kaczmarek2
    Moderator Smart Home
    @minusync czy jesteś tego świadomy Wykrywanie asystenta domowego nie obsługuje jeszcze urządzeń TuyaMCU?
    W tym celu musisz utworzyć kod YAML.
    Można tam znaleźć przykład:
    [BK7231T] LCD kalendarz/termometr/higrometr TH06 WiFi dla TuyaMCU - Home Assistant
    Wykrywanie dla TuyaMCU zostanie wkrótce wdrożone.
    Pomogłem? Kup mi kawę.
  • #14 20375541
    superjedi
    Poziom 2  
    p.kaczmarek2 napisał:

    Więc jest ok? Czy dostajesz wyniki do HA?


    Nie mam pojęcia, planuję użyć ich z grafaną, nie mam instancji HA, jak dotąd wydaje się, że działa, ale nie wydaje się być niezawodny, chociaż może to wcale nie być problem związany z OpenBK.

    Czy istnieje jakiś standardowy sposób (standardowy, jak w protokole tuya) konfiguracji MCU dla określonego interwału budzenia?

    p.kaczmarek2 napisał:

    Może być również konieczne ustawienie flag RETAIN w flags. Zawsze zachowuj.


    Gotowy !

    p.kaczmarek2 napisał:

    Masz na myśli 3,3V bezpośrednio do modułu WiFi?
    Nie, nie możesz tego zrobić. To nie zadziała w ten sposób.

    Po pierwsze, MCU jest zasilany przez tranzystor (Q1), którego podstawa jest kontrolowana przez MCU, więc 3,3 V nie będzie płynąć wstecz.

    Po drugie, wyniki można uzyskać tylko wtedy, gdy MCU zdecyduje się obudzić i włączyć moduł WiFi. Nie możesz włączyć samego modułu WiFi i oczekiwać, że MCU zareaguje.

    Z tego powodu tego rodzaju urządzenia są TRUDNE w obsłudze.
    I uwaga - Tasmota ma ten sam problem! Jest to problem niezależny od oprogramowania układowego.


    Dziękuję za wyjaśnienie tego, też tak myślałem, dlatego od razu przeszedłem na zasilanie bateryjne.

    Naprawdę trudno jest podłączyć moduł, aby go ponownie skonfigurować i nie można go ponownie skonfigurować bezprzewodowo (może istnieje opcja bezprzewodowej rekonfiguracji łącza wakeup/downlink, jak w LoRaWAN?)
  • #15 20375609
    minusync
    Poziom 8  
    p.kaczmarek2 napisał:
    @minusync czy wiesz, że Home Assistant Discovery nie obsługuje jeszcze urządzeń TuyaMCU?
    W tym celu musisz utworzyć kod YAML.


    HA znowu coś zmieniło

    BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z


    Wygląda na to, że przewodnik OB yaml nie jest już poprawny. Nie jestem pewien, ale wydaje mi się, że teraz powinno być coś takiego
    mqtt:
      sensor:
        name: "Temp"
        state_topic: "Temp_hum/1/get"
        unit_of_measurement: 'C'
        value_template: "{{ ((value | float * 0.1 | round(1))) }}"
        
        name: "Temp"
        state_topic: "Temp_hum/2/get"
        unit_of_measurement: '%'
        value_template: "{{ value }}"


    Problem polega na tym, że nadal nie mogę odczytać danych
    Edytuj: Zauważyłem, że mogę czytać dzienniki aplikacji internetowych nawet przy zasilaniu bateryjnym. Więc kiedy to może pomóc i powiesz mi, jakich funkcji potrzebujesz, mógłbym opublikować.
  • #16 20377392
    p.kaczmarek2
    Moderator Smart Home
    Nie wiem obecnie, czy istnieje sposób na bezpieczniejsze OTA z tym MCU wyłączającym moduł WiFi po określonym czasie. Być może będziemy musieli zagłębić się w dokumenty Tuya.

    Ale tak, to jest problematyczne...

    Nie wiem jeszcze o zmianach HA, ale w razie potrzeby zaktualizujemy generator Yaml. Ale to nie jest dobre, HA zmienia rzeczy zbyt często. A ja mam jeszcze wersję z zeszłego roku.

    @minusync, czy wykonałeś wszystkie kroki z tego wątku? Jeśli tak, czy możesz użyć Home Assistant ,,słuchaj tematu MQTT", aby słuchać tego, co nadaje twoje urządzenie? Powinieneś otrzymać obkDev/1/get etc publikuje z wartościami kanałów ....
    Pomogłem? Kup mi kawę.
  • #17 20377932
    ionoleinic
    Poziom 10  
    Cześć, mam podobne urządzenie, czujnik temperatury i szumu. Myślę, że jest zasilany przez mcu na pokładzie i chcę zapytać, czy mogę go teraz sflashować za pomocą OpenBeken lub powinienem najpierw odczytać z niego plik dziennika z poleceniami, które wysyłają tuya mcu.
    BK7231N/CB3S Tuya ogólny zasilany bateryjnie czujnik temperatury i wilgotności z
    I żeby sflashować, zobaczyłem, że w repozytorium profili urządzeń tuya cloudcutter pojawił się ten czujnik. Zaznaczono, że urządzenie miało moduł CBU, ale moje urządzenie ma moduł CB3S w środku. Czy to będzie problem, czy nie?
    Dziękuję Ci.
  • #18 20378073
    minusync
    Poziom 8  
    p.kaczmarek2 napisał:
    wykonałeś wszystkie kroki z tego wątku? Jeśli tak, czy możesz użyć Home Assistant ,,słuchaj tematu MQTT", aby słuchać tego, co nadaje twoje urządzenie? Powinieneś otrzymać obkDev/1/get etc publikuje z wartościami kanałów ....


    Mam inne podobne urządzenie do pracy. Mogę teraz przynajmniej odczytać dane z menu urządzenia. Nie wiem, jaki był problem z pierwszym, to w zasadzie klony.
    Większym problemem są nowe reguły HA yaml. Bez względu na to, co spróbuję, otrzymuję błąd zduplikowanych kluczy mapowania. Obecnie nie mam żadnych urządzeń OB do pracy przez MQTT. Zacząłem HA dopiero jesienią, więc nie jestem zbyt zaznajomiony z kodem yaml.
  • #19 20378175
    p.kaczmarek2
    Moderator Smart Home
    Zawsze staraj się wykonać kopię zapasową flash 2 MB, zarówno dla bezpieczeństwa, jak i dla hackowania OTA, i opublikuj ją tutaj, mogę ją przesłać do zespołu Cuttera. Nie zaszkodzi, jeśli będzie to duplikat. .

    @ionoleinic Nie jestem w stanie zgadnąć, czy twoje urządzenie jest takie samo, producent może zmienić wersję oprogramowania układowego BK7231N, czy nie, przechwytywanie pakietów przez UART nie zaszkodzi. Lub możemy po prostu założyć, że to to samo i sflashować OBK, a następnie sprawdzić tam dzienniki - dzienniki OpenBeken TuyaMCU pokazują identyfikatory dpID i ich zawartość. Decyzja należy do Ciebie.

    @minusync Postaram się wkrótce ci w tym pomóc, ale w tej chwili nie zaktualizowałem jeszcze mojego HA. Nie jestem zadowolony z tego, że tak często zmieniają składnię. Mieliśmy już taką sytuację około rok temu, a teraz znowu to robią. Ale nadal możesz opublikuj swój aktualny Yaml i komunikat o błędzie? Spróbuję coś dla ciebie wymyślić, chociaż nie mam tego nowego HA.
    Pomogłem? Kup mi kawę.
  • #20 20378385
    minusync
    Poziom 8  
    p.kaczmarek2 napisał:
    Postaram się wkrótce ci w tym pomóc, ale w tej chwili nie zaktualizowałem jeszcze mojego HA. Nie jestem zadowolony z tego, że tak często zmieniają składnię. Mieliśmy już taką sytuację około rok temu, a teraz znowu to robią. Ale czy nadal możesz opublikować swój aktualny Yaml i komunikat o błędzie? Spróbuję coś dla ciebie wymyślić, chociaż nie mam tego nowego HA.


    Spróbuję opisać sytuację za pomocą yamla
    to właśnie zasugerowałeś, ale daje ogólny błąd dotyczący nowych zasad.
    sensor:
      - platform: mqtt
        name: "Temp"
        state_topic: "Temp/1/get"
        unit_of_measurement: 'C'
        value_template: "{{ ((value | float * 0.1 | round(1))) }}"
        
      - platform: mqtt
        name: "Temp"
        state_topic: "Temp/2/get"
        unit_of_measurement: '%'
        value_template: "{{ value }}"

    Myślę, że w zasadzie nowy przepis mówi czujnik nie może być powyżej mqtt
    Próbowałem więc najpierw umieścić mqtt, ale spowoduje to błędy dotyczące zduplikowanych mapowań
    Więc to też jest błędne
    
    mqtt:
      sensor:
        name: "Temp"
        state_topic: "Temp/1/get"
        unit_of_measurement: 'C'
        value_template: "{{ ((value | float * 0.1 | round(1))) }}"
    	
        name: "Temp"
        state_topic: "Temp/2/get"
        unit_of_measurement: '%'
        value_template: "{{ value }}"
  • #21 20379029
    Xinayder
    Poziom 8  
    minusync napisał:
    p.kaczmarek2 napisał:
    Postaram się wkrótce ci w tym pomóc, ale w tej chwili nie zaktualizowałem jeszcze mojego HA. Nie jestem zadowolony z tego, że tak często zmieniają składnię. Mieliśmy już taką sytuację około rok temu, a teraz znowu to robią. Ale czy nadal możesz opublikować swój aktualny Yaml i komunikat o błędzie? Spróbuję coś dla ciebie wymyślić, chociaż nie mam tego nowego HA.


    Spróbuję opisać sytuację za pomocą yamla
    to właśnie zasugerowałeś, ale daje ogólny błąd dotyczący nowych zasad.
    sensor:
      - platform: mqtt
        name: "Temp"
        state_topic: "Temp/1/get"
        unit_of_measurement: 'C'
        value_template: "{{ ((value | float * 0.1 | round(1))) }}"
        
      - platform: mqtt
        name: "Temp"
        state_topic: "Temp/2/get"
        unit_of_measurement: '%'
        value_template: "{{ value }}"

    Myślę, że w zasadzie nowy przepis mówi czujnik nie może być powyżej mqtt
    Próbowałem więc najpierw umieścić mqtt, ale spowoduje to błędy dotyczące zduplikowanych mapowań
    Więc to też jest błędne
    mqtt:
      sensor:
        name: "Temp"
        state_topic: "Temp/1/get"
        unit_of_measurement: 'C'
        value_template: "{{ ((value | float * 0.1 | round(1))) }}"
    	
        name: "Temp"
        state_topic: "Temp/2/get"
        unit_of_measurement: '%'
        value_template: "{{ value }}"


    Zmienili składnię w taki sposób, że nie jest już obsługiwane dodawanie czujników z platformą MQTT; musisz ręcznie dodać każdy czujnik pod blokiem MQTT w pliku konfiguracyjnym.

    Twój kod powinien wyglądać tak:
    mqtt:
      sensor:
        - name: "Temp"
          state_topic: "Temp/1/get"
          unit_of_measurement: 'C'
          value_template: "{{ ((value | float * 0.1 | round(1))) }}"
    	
        - name: "Temp"
          state_topic: "Temp/2/get"
          unit_of_measurement: '%'
          value_template: "{{ value }}"
    

    Możesz zobaczyć przykład tutaj: https://www.home-assistant.io/integrations/se....mqtt/#json-attributes-template-configuration

    Mam podobne urządzenie i dzisiaj zrobiłem szybki demontaż i okazało się, że mam to samo urządzenie, chipset BK7231N, moduł CB3S z czujnikiem CHT8305. Próbowałem użyć programu Cloud Cutter do flashowania OpenBK, ale nie powiodło się, ponieważ moja wersja oprogramowania układowego to 2.1.0 i nie mogłem wykonać metody Cloud Cutter z kilkoma profilami.

    Czekam tylko na przybycie mojego programisty UART, abym mógł zrzucić oprogramowanie układowe i sflashować w nim OpenBK.
  • #22 20379030
    p.kaczmarek2
    Moderator Smart Home
    Każdy zrzut oprogramowania układowego jest mile widziany, chociaż...
    byłoby również pomocne, gdyby ktoś przechwycił pakiety UART TuyaMCU w trybie parowania Tuya ponieważ możliwe jest, że istnieje sposób na przełączenie urządzenia TuyaMCU w tryb ,,ciągłego uruchamiania modułu WiFI", który może być przydatny dla naszego OBK, gdy potrzebujemy wykonać OTA.

    Ponieważ, jak być może wiesz, w przeciwnym razie TuyaMCU wyłączy zasilanie modułu WiFi po około 30 do 90 sekundach (w zależności od tego, czy moduł WiFi ,,rozmawia" z nim przez TuyaMCU, czy nie).

    Może moglibyśmy również znaleźć coś w dokumentach Tuya. Idk, może w pakiecie "wifi conf"? Mogę poszukać rozwiązania w dokumentach, jeśli będę miał trochę więcej czasu później.
    Pomogłem? Kup mi kawę.
  • #23 20379414
    minusync
    Poziom 8  
    Xinayder napisał:
    Zmienili składnię w taki sposób, że nie jest już obsługiwane dodawanie czujników z platformą MQTT; musisz ręcznie dodać każdy czujnik pod blokiem MQTT w pliku konfiguracyjnym.

    Prawie mi się udało, ale musi być coś więcej bcs, cokolwiek robię, nie jestem w stanie pokazać tego jako urządzenia mqtt w HA.
    Mam kilka urządzeń vmbus szczęśliwie jako mqtt z dokładnie tymi samymi danymi uwierzytelniającymi, ale openbeken odmawia jak dotąd pracy.
    Widzę, że mqtt jest podłączony, ale HA po prostu odmawia jego przeczytania
    Stan MQTT: połączono RES: 0(ERR_OK)
    Komunikat o błędzie MQTT:
    Statystyki MQTT:CONN: 6 PUB: 36 RECV: 0 BŁĄD: 0
  • #24 20379416
    ionoleinic
    Poziom 10  
    p.kaczmarek2 napisał:
    Każdy zrzut oprogramowania układowego jest mile widziany, chociaż...
    byłoby również pomocne, gdyby ktoś przechwycił pakiety UART TuyaMCU w trybie parowania Tuya, ponieważ możliwe jest, że istnieje jakiś sposób na przełączenie tego urządzenia TuyaMCU w ,,tryb ciągłego uruchamiania modułu WiFI", który może być przydatny dla naszego OBK, gdy musimy to zrobić OTA.

    Chcę przechwycić pakiety dla mojego modułu temp i hum. Czego potrzebuję do tego? RealTerm?
    Widziałem Tx2 i Rx2 z przodu płytki drukowanej, czy mogę użyć 3.3 i GND z baterii?
    Tx1 i Rx1 znajdują się z tyłu płytki drukowanej.
    Dzięki.
  • #25 20379549
    minusync
    Poziom 8  
    p.kaczmarek2 napisał:
    Postaram się wkrótce ci w tym pomóc, ale w tej chwili nie zaktualizowałem jeszcze mojego HA. Nie jestem zadowolony z tego, że tak często zmieniają składnię.

    Może masz jakieś pomysły bcs, których nie mam już w tym momencie.
    Czujnik najwyraźniej jest w stanie połączyć się z HA, jedyną rzeczą jest to, że nie pojawia się jako urządzenie w mqtt.
    Widzę w dziennikach mosquitto, że subskrybuje urządzenie, ale nie pojawia się jako prawdziwe urządzenie.
    Jedyne, co przychodzi mi do głowy, to to, że HA i OB jakoś nie chcą ze sobą rozmawiać. Nie wiem czy jest coś do zmiany w ustawieniach OB.
    To część dzienników komarów

    2023-01-11 13:46:43.961 DEBUG (MainThread) [homeassistant.components.mqtt.client] Received message on Temp_Kitchen/1/get (qos=0): b'209'
    2023-01-11 13:46:43.963 DEBUG (MainThread) [homeassistant.components.mqtt.models] Rendering incoming payload '209' with variables {'entity_id': 'sensor.temp_hum_Kitchen', 'name': 'Temp_hum_Kitchen', 'this': } with default value 'default' and Template("{{ ((value | float * 0.1 | round(1))) }}")
    2023-01-11 13:46:43.974 DEBUG (MainThread) [homeassistant.components.mqtt.client] Received message on Temp_Kitchen/2/get (qos=0): b'24'
    2023-01-11 13:46:43.975 DEBUG (MainThread) [homeassistant.components.mqtt.models] Rendering incoming payload '24' with variables {'entity_id': 'sensor.temp_hum_Kitchen_2', 'name': 'Temp_hum_Kitchen', 'this': } with default value 'default' and Template("{{ value }}")
    2023-01-11 13:46:44.961 DEBUG (MainThread) [homeassistant.components.mqtt.client] Received message on Temp_Kitchen/2/get (qos=0): b'24'
    2023-01-11 13:46:44.962 DEBUG (MainThread) [homeassistant.components.mqtt.models] Rendering incoming payload '24' with variables {'entity_id': 'sensor.temp_hum_Kitchen_2', 'name': 'Temp_hum_Kitchen', 'this': } with default value 'default' and Template("{{ value }}")
    2023-01-11 13:46:53.956 DEBUG (MainThread) [homeassistant.components.mqtt.client] Received message on Temp_Kitchen/1/get (qos=0): b'209'/code]
  • #26 20381491
    p.kaczmarek2
    Moderator Smart Home
    ionoleinic napisał:

    Widziałem Tx2 i Rx2 z przodu płytki drukowanej, czy mogę użyć 3.3 i GND z baterii?
    Tx1 i Rx1 znajdują się z tyłu płytki drukowanej.
    Dzięki.

    Jeśli chcesz przechwycić pakiety z urządzenia TuyaMCU, możesz zastosować zasilanie 3,3 V bezpośrednio do styku baterii. To będzie działać tak, jakby urządzenie miało baterie.
    Z drugiej strony zastosowanie 3,3 V bezpośrednio do VDD w module WiFi nie będzie działać, ponieważ urządzenia TuyaMCU o niższej mocy mają kontrolę TuyaMCU nad zasilaniem modułu Wi-Fi, a TuyaMCU włącza moduł tylko wtedy, gdy jest to potrzebne do raportowania danych.

    TuyaMCU tutaj nie odpowiada na żądanie, przez większość czasu jest w głębokim uśpieniu.
    Pomogłem? Kup mi kawę.
  • #28 20381572
    p.kaczmarek2
    Moderator Smart Home
    TX2 i RX2 to wyjście dziennika debugowania. Znajdziesz tam dziennik oprogramowania układowego Tuya. Komunikacja TuyaMCU odbywa się na RX1 i TX1, na tym samym porcie, który jest używany do flashowania urządzenia przez bootloader UART.

    Najpierw upewnij się, że dostajesz coś w Realterm bez przechwytywania. Następnie spróbuj przechwycić.

    Niedługo napiszę poradnik na ten temat, wczoraj pytano mnie o to samo.
    Pomogłem? Kup mi kawę.
  • #29 20381992
    ionoleinic
    Poziom 10  
    Próbuję przechwycić pakiety komunikacji TuyaMCU czujnika temperatury i szumu. Próbowałem z RealTerm, teraz z TeraTerm, ale nadal nic.
    Robię to pierwszy raz i nie rozumiem, co robię źle.



    Czy ktoś może mi pomóc?
    Dzięki.
  • #30 20382066
    p.kaczmarek2
    Moderator Smart Home
    Masz złe połączenie. Masz mieć wspólne połączenie z masą, tak jak podczas flashowania. GND urządzenia WiFi i GND konwertera USB na UART powinny być ze sobą połączone. Następnie możesz podłączyć pin RX konwertera USB do UART do TXD1 lub RXD1 w celu przechwytywania danych.

    Masa musi być wspólna, ponieważ wszystkie poziomy sygnału są mierzone względem masy.
    Pomogłem? Kup mi kawę.
REKLAMA