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

Integracja Atorch DT20HBW z Home Assistant - potrzebna rada.

pexicele 14 Lut 2025 10:22 5139 10
REKLAMA
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
  • #1 21438964
    pexicele
    Poziom 3  
    Posty: 7
    Witam
    (mój pierwszy temat - nie rzucaj kamieniami)

    Potrzebuję zintegrować jedno urządzenie z Home Assistant, nazwa urządzenia to Atorch DT20HBW:
    https://www.youtube.com/watch?v=VEQWkEoxd1M
    https://www.aliexpress.com/item/1005007168934...ml?spm=a2g0o.cart.0.0.378f4ae4TWJZOA&mp=1

    Udało mi się zidentyfikować niektóre z jego chipów:
    -CB2S
    -RN8209C
    -CH582M

    Widzę też kilka dostępnych połączeń lutowniczych na PCB: V / G / D- / D i PB22(?).
    Zdjęcie płytki PCB z widocznymi chipami RN8209C i CH582M oraz punktami lutowniczymi.

    Czy ktoś może doradzić jakie będzie najlepsze podejście dla początkującego?
    Pytam, ponieważ do tej pory nie mogłem znaleźć informacji o chipie CH582M...
    (przepraszam za mój angielski)
    Urządzenie Atorch DT20HBW pokazujące test pojemności baterii z aplikacją na smartfonie.
    AI: Czy możesz podać więcej szczegółów na temat obecnej konfiguracji Home Assistant, takich jak używana wersja i wszelkie istniejące integracje?
    Używam Home Assistant głównie do monitorowania mojego systemu solarnego off-grid (4 x falowniki growatt 6000es, bateria 75kwh Lifepo4 15s (diy), panele słoneczne 15kwp) już zintegrowane z HA: LK3 tinycontroller, 5 x liczniki energii TOMZN 63W AC, pompa ciepła Hyundai, DIY bezprzewodowy BMS domowej roboty itp.
    AI: Jaką konkretną funkcjonalność lub wynik chcesz osiągnąć poprzez integrację Atorch DT20HBW z Home Assistant?
    Muszę monitorować energię po stronie DC (panele słoneczne, bateria, oświetlenie domowe (wszystkie moje światła domowe działają na 48 V DC).
  • REKLAMA
  • #3 21440310
    pexicele
    Poziom 3  
    Posty: 7
    Dzięki, w zasadzie dopiero zaczynam to czytać, nigdy nie flashowałem układu tuya do tej pory, na szczęście mam dwa urządzenia DT20HBW.
    W tej chwili jeden z nich ma podłączony nowy izolowany dc-dc (18-75v do 5v) i monitoruje baterię słoneczną za pomocą integracji tuya, częstotliwość odświeżania sprawia, że to rozwiązanie jest również prawie bezużyteczne, ponieważ musiałem obliczyć SOC na podstawie aktualnej wartości czujnika.
    Z tego, co widzę w tych tutorialach, nie jest dla mnie tak proste zidentyfikowanie wszystkich danych z czujników, ale ktoś musi to zrobić, więc życzę powodzenia.
  • REKLAMA
  • Pomocny post
    #5 21495594
    f3nix
    Poziom 11  
    Posty: 3
    Pomógł: 1
    Ocena: 2
    Cześć.
    Mam przerobione 3 sztuki na esphome.

    
    substitutions:
      name: dt20hbw-1
      friendly_name: dt20hbw-1
      device_description: "Monitor and control Atorch DT20HBW"
    
    esphome:
      name: ${name}
      friendly_name: ${friendly_name}
      comment: ${device_description}
      project:
        name: "f3nix.esphome-dt20hbw"
        version: 0.9.2
      platformio_options:
          platform_packages:
          - framework-arduino-api @ https://github.com/f3nix/ArduinoCore-API#ringbuffer-buffer
      build_path: "../config/esphome/${name}_build"
     
    bk72xx:
      board: cb2s
      framework:
        version: latest
        loglevel: debug
    
    # Enable logging
    logger:
      baud_rate: 0
      # level: VERY_VERBOSE
    
    # Enable Home Assistant API
    api:
    
    ota:
      - platform: esphome
    
    wifi:
      ssid: !secret wifi_ssid
      password: !secret wifi_password
    
      # Enable fallback hotspot (captive portal) in case wifi connection fails
      ap:
        ssid: "dt20hbw-1 Fallback Hotspot"
        password: !secret wifi_ap_password
    
    captive_portal:
    
    web_server:
      port: 80
      version: 3
    
    time:
      - platform: homeassistant
        id: homeassistant_time
    
    uart:
      tx_pin: TX1
      rx_pin: RX1
      baud_rate: 115200
      debug:
        direction: BOTH
        dummy_receiver: false
    
    debug:
      update_interval: 30s
    
    # Register the Tuya MCU connection
    tuya:
      id: "tuyadevice"
      time_id: homeassistant_time
    
    text_sensor:
      - platform: debug
        reset_reason:
          name: "Reset Reason"
    
      - platform: libretiny
        version:
          name: "LibreTiny Version"
    
    sensor:
      - platform: uptime
        name: "Uptime"
    
      - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
        name: "WiFi Signal dB"
        id: wifi_signal_db
        update_interval: 60s
        entity_category: "diagnostic"
    
      - platform: "tuya"
        name: "Current"
        sensor_datapoint: 18
        unit_of_measurement: "A"
        device_class: current
        state_class: measurement
        accuracy_decimals: 3
        filters:
          - multiply: 0.001
    
      - platform: "tuya"
        name: "Power"
        sensor_datapoint: 19
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement
        accuracy_decimals: 2
        filters:
          - multiply: 0.01
    
      - platform: "tuya"
        name: "Voltage"
        sensor_datapoint: 20
        unit_of_measurement: "V"
        device_class: voltage
        state_class: measurement
        accuracy_decimals: 2
        filters:
          - multiply: 0.01
    
      - platform: "tuya"
        name: "Battery percentage"
        sensor_datapoint: 103
        unit_of_measurement: "%"
        device_class: battery
        state_class: measurement
        accuracy_decimals: 1
        filters:
          - multiply: 0.1
    
      - platform: "tuya"
        name: "NTC temperature"
        sensor_datapoint: 122
        unit_of_measurement: "°C"
        device_class: temperature
        state_class: measurement
        accuracy_decimals: 1
        filters:
          - multiply: 0.1
    
      - platform: "tuya"
        name: "CPU temperature"
        sensor_datapoint: 135
        unit_of_measurement: "°C"
        device_class: temperature
        state_class: measurement
        accuracy_decimals: 0
    
      - platform: "tuya"
        name: "Discharge current"
        sensor_datapoint: 111
        unit_of_measurement: "A"
        device_class: current
        state_class: measurement
        accuracy_decimals: 3
        filters:
          - multiply: 0.001
    
      - platform: "tuya"
        name: "Discharge power"
        sensor_datapoint: 112
        unit_of_measurement: "W"
        device_class: power
        state_class: measurement
        accuracy_decimals: 3
        filters:
          - multiply: 0.001
    
      - platform: "tuya"
        name: "Total electricity"
        sensor_datapoint: 123
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: measurement
        accuracy_decimals: 3
        filters:
          - multiply: 0.001
    
      - platform: "tuya"
        name: "Total capacity"
        sensor_datapoint: 133
        unit_of_measurement: "Ah"
        device_class: energy
        state_class: measurement
        accuracy_decimals: 3
        filters:
          - multiply: 0.001
    
      - platform: "tuya"
        name: "Resistance"
        sensor_datapoint: 134
        unit_of_measurement: "Ω"
        state_class: measurement
        accuracy_decimals: 2
        filters:
          - multiply: 0.01
    
    switch:
      - platform: "tuya"
        name: "Real time data refresh switch"
        switch_datapoint: 101
    
      - platform: "tuya"
        name: "Relay switch"
        switch_datapoint: 102
    
      - platform: "tuya"
        name: "Data zero"
        switch_datapoint: 113
        id: data_zero
        on_turn_on:
          - delay: 100ms
          - switch.turn_off: data_zero
    
      - platform: "tuya"
        name: "Wi-Fi device reset"
        switch_datapoint: 114
        id: wifi_reset
        on_turn_on:
          - delay: 100ms
          - switch.turn_off: wifi_reset
    
      - platform: "tuya"
        name: "Factory reset"
        switch_datapoint: 115
        id: factory_reset
        on_turn_on:
          - delay: 100ms
          - switch.turn_off: factory_reset
    
      - platform: "tuya"
        name: "Exit device backend"
        switch_datapoint: 116
        id: backend
        on_turn_on:
          - delay: 100ms
          - switch.turn_off: backend
    
    # button:
    #   - platform: template
    #     name: "Data zero"
    #     on_press:
    #       - lambda: |-
    #           id(tuyadevice).set_boolean_datapoint_value(113, true);
    #           id(tuyadevice).set_boolean_datapoint_value(113, false);
    
    #   - platform: template
    #     name: "Wi-Fi device reset"
    #     on_press:
    #       - lambda: |-
    #           id(tuyadevice).set_boolean_datapoint_value(114, true);
    #           id(tuyadevice).set_boolean_datapoint_value(114, false);
    
    #   - platform: template
    #     name: "Factory reset"
    #     on_press:
    #       - lambda: |-
    #           id(tuyadevice).set_boolean_datapoint_value(115, true);
    #           id(tuyadevice).set_boolean_datapoint_value(115, false);
    
    #   - platform: template
    #     name: "Exit device backend"
    #     on_press:
    #       - lambda: |-
    #           id(tuyadevice).set_boolean_datapoint_value(116, true);
    #           id(tuyadevice).set_boolean_datapoint_value(116, false);
    
    number:
      - platform: tuya
        name: "Display brightness"
        number_datapoint: 108
        min_value: 1
        max_value: 9
        step: 1
        entity_category: config
    
      - platform: tuya
        name: "Standby brightness"
        number_datapoint: 109
        min_value: 0
        max_value: 9
        step: 1
        entity_category: config
    
      - platform: tuya
        number_datapoint: 110
        name: "Standby time"
        unit_of_measurement: "s"
        min_value: 3
        max_value: 99
        step: 1
        mode: box
        entity_category: config
     
      - platform: tuya
        name: "Over voltage protection"
        number_datapoint: 104
        unit_of_measurement: "V"
        min_value: 0.00
        max_value: 420.00
        multiply: 100
        step: 1
        mode: box
        entity_category: config
    
      - platform: tuya
        name: "Over temperature protection"
        number_datapoint: 105
        unit_of_measurement: "°C"
        min_value: 0.1
        max_value: 150.0
        multiply: 10
        step: 1
        mode: box
        entity_category: config
    
      - platform: tuya
        name: "Over power protection"
        number_datapoint: 106
        unit_of_measurement: "W"
        min_value: 1
        max_value: 252000
        step: 1
        mode: box
        entity_category: config
    
      - platform: tuya
        name: "Low voltage protection"
        number_datapoint: 119
        unit_of_measurement: "V"
        min_value: 0.00
        max_value: 420.00
        multiply: 100
        step: 1
        mode: box
        entity_category: config
    
      - platform: tuya
        name: "100% battery voltage"
        number_datapoint: 117
        unit_of_measurement: "V"
        min_value: 0.00
        max_value: 450.00
        multiply: 100
        step: 1
        mode: box
        entity_category: config
    
      - platform: tuya
        name: "0% battery voltage"
        number_datapoint: 120
        unit_of_measurement: "V"
        min_value: 0.00
        max_value: 450.00
        multiply: 100
        step: 1
        mode: box
        entity_category: config
    
      - platform: tuya
        name: "Data refresh interval time"
        number_datapoint: 125
        unit_of_measurement: "s"
        min_value: 1
        max_value: 90
        step: 1
        mode: box
        entity_category: config
    
      - platform: tuya
        name: "Mini measure Amp"
        number_datapoint: 121
        unit_of_measurement: "mA"
        min_value: 2
        max_value: 99
        step: 1
        mode: box
        entity_category: config
    
    select:
      - platform: tuya
        name: "Device language"
        enum_datapoint: 107
        optimistic: true
        options:
          0: "Chinese"
          1: "English"
        entity_category: config
    
      - platform: tuya
        name: "Device interface"
        enum_datapoint: 118
        optimistic: true
        options:
          0: "Front measurement interface"
          1: "Background setting interface"
          2: "Large font interface"
        entity_category: config
    
      - platform: tuya
        name: "Alarm sign"
        enum_datapoint: 132
        optimistic: true
        options:
          0: "off"
          1: "ovp"
          2: "lvp"
          3: "opp"
          4: "otp"
        entity_category: diagnostic
    
      - platform: tuya
        name: "Diverter size"
        enum_datapoint: 136
        optimistic: true
        options:
          0: "30A"
          1: "100A"
          2: "200A"
          3: "300A"
          4: "400A"
          5: "500A"
          6: "600A"
          7: "1000A"
        entity_category: config
    

    Pozdrawiam,
    Mateusz
  • REKLAMA
  • #6 21504915
    pexicele
    Poziom 3  
    Posty: 7
    tryliony podziękowań Matthew, działa na moich urządzeniach!
  • REKLAMA
  • #7 21628994
    markinNZ
    Poziom 2  
    Posty: 2
    Cześć,

    Jestem nowy w flashowaniu urządzeń, więc przepraszam, jeśli moje pytanie jest proste. Ale czy możesz wyjaśnić podstawowy przegląd tego, jak mogę sflashować ESPHome-dt20hbw, aby używać ESPHome na tym urządzeniu? Próbowałem podłączyć port USB urządzenia zarówno do serwera HA, jak i komputera z systemem Windows, ale wydaje się, że widzi tylko urządzenie HID. Czy istnieje sposób, w jaki mogę go załadować jako port COM lub ttyUSB, czy też robię to całkowicie źle i muszę uzyskać USB do TTL UART i przylutować go do płyty? Być może brakuje mi kroku, aby przełączyć płytkę w tryb pobierania, ponieważ użycie fabrycznej metody przytrzymania przycisku "-" podczas włączania zasilania nic nie zmienia.

    Dziękuję!

    Mark
  • #8 21629925
    pexicele
    Poziom 3  
    Posty: 7
    Cześć Mark

    Wyodrębniłem moduł mini Wi-Fi Tuya (znajdujący się w rogu płyty głównej) i zaprogramowałem ten moduł za pomocą adaptera szeregowo-USB (w moim przypadku zmodyfikowany programator USB ESP01).


    Powodzenia
    Viorel
  • #9 21643690
    markinNZ
    Poziom 2  
    Posty: 2
    >>21629925 Dzięki za odpowiedź. Aha, jest tak jak podejrzewałem. Prawdopodobnie więcej kłopotów niż to warte dla mnie. Ale przynajmniej nie idę ślepą ścieżką. :)
  • #10 21701067
    johnhowardlay
    Poziom 2  
    Posty: 2
    Z tego, co udało mi się znaleźć, DT20HBW jest dostarczany z dodatkiem do przełącznika przekaźnikowego i działa za pośrednictwem Tuya, ale wydaje się, że nie ma bezpośredniego wsparcia w Home Assistant. Niektórzy użytkownicy wspominali o wypróbowaniu TinyTuya do lokalnego sterowania, podczas gdy inni poszli dalej i sflashowali go za pomocą ESPHome w celu pełnej integracji.
    Jestem ciekaw:
    Czy udało ci się uzyskać wiarygodne dane (napięcie, prąd, moc) do Home Assistant?
    Czy byłeś w stanie sterować przekaźnikiem lokalnie bez polegania na chmurze Tuya?
    Jeśli go sflashowałeś, jaki chipset napotkałeś (CB2S, RN8209C, CH582M) i jakich narzędzi użyłeś?
    Jakieś konfiguracje YAML lub działające przykłady, którymi możesz się podzielić?
    Moim głównym celem jest śledzenie stanu baterii, oszacowanie kosztów budowy w celu dodania inteligentnego monitorowania i zautomatyzowanie przekaźnika na podstawie progów napięcia.

Podsumowanie tematu

✨ Dyskusja dotyczy integracji urządzenia Atorch DT20HBW z platformą Home Assistant. Urządzenie wykorzystuje chipy CB2S, RN8209C oraz mniej znany CH582M. Użytkownicy sugerują skupienie się na chipie CB2S i porównanie z innymi urządzeniami Atorch opartymi na TuyaMCU. Wskazano na możliwość flashowania modułu Wi-Fi Tuya za pomocą adaptera USB-UART, co pozwala na pełną integrację z Home Assistant poprzez ESPHome. Udostępniono przykładową konfigurację YAML dla ESPHome, umożliwiającą monitorowanie i sterowanie DT20HBW. Wskazano również na projekty OpenBK7231T oraz repozytorium atorch-tuya-esphome na GitHub, które mogą ułatwić implementację. Użytkownicy podkreślają konieczność wykonania kopii zapasowej przed flashowaniem oraz trudności z trybem programowania przez USB, co wymaga lutowania do portu UART. Celem integracji jest lokalne monitorowanie parametrów baterii słonecznej (napięcie, prąd, moc) oraz sterowanie przekaźnikiem bez zależności od chmury Tuya.
Wygenerowane przez model językowy.
REKLAMA