logo elektroda
logo elektroda
X
logo elektroda

Minco Home M3H: Cloud-Free WiFi Thermostat for Electric Heating Systems

GAAD 582 3
ADVERTISEMENT
  • ADVERTISEMENT
  • Helpful post
    #2 21386982
    divadiow
    Level 35  
    thanks for the firmware backup. Here is the (unpaired state) boot log when used with TuyaMCU simulator

    Code: Text
    Log in, to see the code


    It has the same product code "m3j5wouhgsvjlma9" as the Beok TGM50-WIFI-WP and Generic M3-GE-wifi

    refs:
    https://github.com/make-all/tuya-local/issues/1240
    https://github.com/search?q=m3j5wouhgsvjlma9&type=code

    firmware storage code extract
    Code: JSON
    Log in, to see the code


    and to be paired with the dpID values above

    Code: Text
    Log in, to see the code


    I'm not sure if any TuyaMCU testing has been performed yet with OpenRTL87x0C, maybe @insmod has.

    Added after 3 [minutes]:

    your sanitised firmware backup will be here as Tuya_Minco_Home_M3h_Thermostat_TuyaMCU_WBR3_2.5.2.bin when PR is merged.
  • ADVERTISEMENT
  • #3 21387406
    insmod
    Level 26  
    >>21386982 I tested only with TuyaMCU simulator, the "Tuya Module Debugging Assistant". It worked alright.
  • #4 21402100
    GAAD
    Level 17  
    It took a while to get it working. I ran the thermostat on ESPHome with ESP12e.
    The only thing still missing is the ability to program the days of the week. The thermostat has a choice of dividing the week into working and non-working days.
    The working day is divided into 6 time periods and the days off into 2 time periods, e.g:
    working day
    1. early morning HH:mm T
    2. morning HH:mm T
    3. midday HH:mm T
    4. afternoon HH:mm T
    5. evening HH:mm T
    6. night HH:mm T
    day off
    1. day HH:mm T
    2. night HH:mm T
    I have no idea how to make this programmable and send it to the MCU.
    But the thermostat itself is already working.

    
    esphome:
      name: termostat-3
      friendly_name: termostat-3
    esp8266:
    #  board: esp01_1m
      board: esp12e
    # Enable logging
    
    logger:
      level: debug
      logs:
        component: error
      baud_rate: 0
    # Enable Home Assistant API
    api:
      encryption:
        key: "AcblQvVzCC/NggvmOLvKX4GRA9nxwcCYNKQhpFa2ucw="
    ota:
      - platform: esphome
        password: "c7667533335af8cd22888eeb1b208376"
    wifi:
      networks:
    #    - ssid: ************
    #      password: !secret wifi_password_1
        - ssid: **********
          password: !secret wifi_password_2
        - ssid: *************
          password: !secret wifi_password_3
        - ssid: *****
          password: !secret wifi_password_4
      manual_ip:
        static_ip: 192.168.1.82
        gateway: 192.168.1.1
        subnet: 255.255.255.0
        dns1: 192.168.1.1
        dns2: 8.8.8.8
    #  power_save_mode: NONE
    #  output_power: 17dB
    # Enable fallback hotspot (captive portal) in case wifi connection fails
      ap:
        ssid: !secret wifi_ap_ssid
        password: !secret wifi_ap_password
    web_server:
      port: 80
      version: 3
      auth:
        username: !secret web_username
        password: !secret web_password
    time:
      - id: time_provider
        platform: homeassistant
        on_time_sync:
          - logger.log: "Synchronized system clock"
    captive_portal:
    uart:
      rx_pin: GPIO3
      tx_pin: GPIO1
      baud_rate: 9600
      id: mcu_uart
    tuya:
      time_id: time_provider
    climate:
      - platform: tuya
        name: "Termostat"
        icon: mdi:heating-coil
        switch_datapoint: 1
        target_temperature_datapoint: 2
        current_temperature_datapoint: 3
        supports_heat: True
        supports_cool: False
        temperature_multiplier: 0.1
        active_state:
         datapoint: 5
         heating_value: 1
        visual:
         min_temperature: 10 °C
         max_temperature: 30 °C
         temperature_step: 0.1 °C
    switch:
      - platform: tuya
        name: "ON/OFF"
        icon: mdi:power
        switch_datapoint: 1           
        restore_mode: ALWAYS_ON
        device_class: "switch"
      - platform: tuya
        name: "Sound"
        icon: mdi:volume-off
        switch_datapoint: 109           
        device_class: "switch"
      - platform: tuya
        name: "Out inverse"
        entity_category: config    
        icon: mdi:select-inverse
        switch_datapoint: 108           
        device_class: "switch"
      - platform: tuya
        name: "Anti frost"
        entity_category: config    
        icon: mdi:snowflake
        switch_datapoint: 103           
        device_class: "switch"
      - platform: tuya
        name: "Reset to default"
        entity_category: config
        icon: mdi:alert
        switch_datapoint: 104           
        device_class: "switch"
    sensor:
      - platform: tuya
        name: "Temperatura"
        device_class: "temperature"
        sensor_datapoint: 3
        unit_of_measurement: "°C"
        accuracy_decimals: 1
        filters:
          - multiply: 0.1
      - platform: wifi_signal
        name: "WiFi Signal dB"
        id: wifi_signal_db
        update_interval: 60s
        entity_category: "diagnostic"
    text_sensor:
      - platform: wifi_info
        ip_address:
          name: ESP IP Address
        ssid:
          name: ESP Connected SSID
        mac_address:
          name: ESP Mac Wifi Address
        scan_results:
          name: ESP Latest Scan Results
    select:
      - platform: "tuya"
        name: "Program Mode"
        icon: mdi:view-list
        enum_datapoint: 4
        optimistic: true
        options:
          0: Manual
          1: Program
          2: Temporary program
          3: Leave home
      - platform: "tuya"
        name: "Backlight brightness"
        icon: mdi:lightbulb-on-30
        enum_datapoint: 106
        optimistic: false
        options:
          0: Dark
          1: Low
          2: Middle
          3: High        
      - platform: "tuya"
        name: "Sensor selection"
        icon: mdi:wrench
        entity_category: config
        optimistic: true
        enum_datapoint: 110
        options:
          0: Internal
          1: External
          2: Both
      - platform: "tuya"
        name: "Working day setting"
        icon: mdi:briefcase
        entity_category: config
        optimistic: true
        enum_datapoint: 107
        options:
          0: Not active
          1: 5+2 days
          2: 6+1 days
          3: 7 days
      - platform: "tuya"
        name: "Error"
        icon: mdi:alert-circle
        entity_category: diagnostic
        enum_datapoint: 11
        options:
          0: No errors
          1: Err 1-Ext. sensor error
          2: Err 2
          3: Err 3
    number:
    - platform: "tuya"
      name: "Precision"
      entity_category: config
      mode: box
      number_datapoint: 101
      min_value: 0.5
      max_value: 10.0
      step: 0.5
      multiply: 10
    - platform: "tuya"
      name: "Korekta T"
      entity_category: config
      mode: box
      number_datapoint: 19
      min_value: -10
      max_value: 10
      step: 0.1
      multiply: 10
    - platform: "tuya"
      name: "Max set. temperature"
      entity_category: config
      mode: box
      number_datapoint: 15
      min_value: 15
      max_value: 95
      step: 1
      multiply: 1
    - platform: "tuya"
      name: "Max ext. sensor temp."
      entity_category: config
      mode: box
      number_datapoint: 102
      min_value: 35
      max_value: 60
      step: 1
      multiply: 1  
    
    .


    Living room thermostat configuration panel with various settings. .
    ESPHome thermostat control panel with debug log. .
ADVERTISEMENT