Sonoff 4chPro R3

Has anyone sucessfully flashed ESPHome to the Sonoff 4chPro R3?

i do not have the 4ChPro R3 but the 4Ch R3, the config should be similar.

take a look at tasmota docs, when it comes to pins and flashing instructions, since this is useful when creating the config in esphome.

for reference this is my config for 4chr3

---
substitutions:
  board: esp8285

packages:
  common: !include ../../common-8285.yaml
  logger: !include ../../common/logger.yaml
  wifi: !include ../../common/wifi.yaml
  captive_portal: !include ../../common/captive_portal.yaml
  #web_server: !include ../../common/web_server.yaml

status_led:
  pin:
    number: GPIO13
    inverted: True

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    name: "Button 1"
    on_press:
      then:
        - lambda: |-
            if (id(use_relay_1).state) {
              id(relay_1).toggle();
            }
  - platform: gpio
    pin:
      number: GPIO9
      mode: INPUT_PULLUP
      inverted: True
    name: "Button 2"
    on_press:
      then:
        - lambda: |-
            if (id(use_relay_2).state) {
              id(relay_2).toggle();
            }
  - platform: gpio
    pin:
      number: GPIO10
      mode: INPUT_PULLUP
      inverted: True
    name: "Button 3"
    on_press:
      then:
        - lambda: |-
            if (id(use_relay_3).state) {
              id(relay_3).toggle();
            }
  - platform: gpio
    pin:
      number: GPIO14
      mode: INPUT_PULLUP
      inverted: True
    name: "Button 4"
    on_press:
      then:
        - lambda: |-
            if (id(use_relay_4).state) {
              id(relay_4).toggle();
            }

  - platform: status
    name: "Status"

switch:
  - platform: gpio
    name: "Relay 1"
    pin: GPIO12
    id: "relay_1"
  - platform: gpio
    name: "Relay 2"
    pin: GPIO5
    id: "relay_2"
  - platform: gpio
    name: "Relay 3"
    pin: GPIO4
    id: "relay_3"
  - platform: gpio
    name: "Relay 4"
    pin: GPIO15
    id: "relay_4"

  - platform: template
    name: "Use Relay 1"
    id: use_relay_1
    entity_category: config
    restore_mode: RESTORE_DEFAULT_ON
    optimistic: true
  - platform: template
    name: "Use Relay 2"
    id: use_relay_2
    entity_category: config
    restore_mode: RESTORE_DEFAULT_ON
    optimistic: true
  - platform: template
    name: "Use Relay 3"
    id: use_relay_3
    entity_category: config
    restore_mode: RESTORE_DEFAULT_ON
    optimistic: true
  - platform: template
    name: "Use Relay 4"
    id: use_relay_4
    entity_category: config
    restore_mode: RESTORE_DEFAULT_ON
    optimistic: true

Thanks. I was having difficulty finding GPIO0. [He who must not be named] kept me grounding the wrong ESP pin. (Almost Intelligent kept insisting that GPIO0 is always ESP pin 25 .)

I would appreciate it if you would share your 8285 package file.

There is considerable difference in the five Sonoff 4CH modules that I have. When I built my irrigation controller a few years ago I bought three of the 4CHPRO v1. They flashed ESPHome easily. One of the boards failed and I wanted to simply replace it. Except the V1 board is no longer available. I bought an R2 module on eBay without doing my research. The 4CHR2 pro only switches the line voltage, while the R1 was dry relay contacts. Apparently the 4CHR2 -non PRO- still exposed dry relay contacts, but I couldn't find one. So, I tried the PRO R3 only to discover the ESP was a bare chip and not the ESP12 module previous Sonoff's used. And identifying GPIO0 became an obstacle.

I don't use Tasmota, so the solution to look there didn't occur to me.

the content is just

esp8266:

  board: esp8285

i do not use tasmota but the documentation they have helped me when i looked into pin assignments etc. it helps a lot.