Modificare il sonoff 4ch

4 min di lettura #Sonoff #Esphome #4ch #ESP8266 #OpenDomus #Caffedomotico

Ciao a tutti!

Di recente ho comprato 4 sonoff 4ch usati su subito.it da una persona super gentile che ringrazio davvero!

Dovevo integrare un po’ di luci nella mia nuova casa.

Ma accidenti!!! Il sonoff 4ch non accetta ingressi a 230V! :(

All’inizio ci sono rimasto davvero male, ma poi ho preso il saldatore e ho risolto il problema, come sempre ;)

Abilitare i pulsanti esterni

Ho preso un po’ di cavi cat5 da interno avanzati e ho saldato la linea e la massa dei pulsanti.

pulsanti, lato inferiore

Poi ho fatto 2 fori nel PCB e nel case per far uscire i fili.

pulsanti, lato superiore

Fatto!

Qui il video con il risultato!!!

Ecco la configurazione esphome per le luci della mia taverna ;)

substitutions:
  device_name: tavern-lights

esphome:
  name: ${device_name}
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  domain: !secret wifi_domain

  ap:
    ssid: ${device_name} Hotspot
    password: !secret hotspot_password

logger:
api:
ota:
web_server:

binary_sensor:
  - platform: gpio
    name: "Sonoff 4CH Button 1"
    internal: true
    pin:
      number: GPIO0
      mode:
        input: true
        pullup: true
      inverted: true
    on_press:
      then:
        - light.toggle: lightid1
  - platform: gpio
    internal: true
    name: "Sonoff 4CH Button 2"
    pin:
      number: GPIO9
      mode:
        input: true
        pullup: true
      inverted: true
    on_press:
      then:
        - light.toggle: lightid2
  - platform: gpio
    internal: true
    name: "Sonoff 4CH Button 3"
    pin:
      number: GPIO10
      mode:
        input: true
        pullup: true
      inverted: true
    on_press:
      then:
        - light.toggle: lightid3
  - platform: gpio
    name: "Sonoff 4CH Button 4"
    internal: true
    pin:
      number: GPIO14
      mode:
        input: true
        pullup: true
      inverted: true
    on_press:
      then:
        - light.toggle: lightid4
  # - platform: gpio
  #   pin:
  #     number: GPIO1 # TX
  #     inverted: true
  #     mode:
  #       input: true
  #       pullup: true
  #   name: "tx"
  # - platform: gpio
  #   pin:
  #     number: GPIO3 # RX
  #     inverted: true
  #     mode:
  #       input: true
  #       pullup: true
  #   name: RX
  - platform: gpio
    pin:
      number: GPIO2 # I02
      inverted: true
      mode:
        input: true
        pullup: true
    name: "tavern door"

light:
  - platform: binary
    name: "basement bathroom light"
    output: relay_1
    id: lightid1
  - platform: binary
    name: "tavern light"
    output: relay_2
    id: lightid2
  - platform: binary
    name: "hot-bath light"
    output: relay_3
    id: lightid3
  - platform: binary
    name: "basement bathroom mirror light"
    output: relay_4
    id: lightid4

output:
  - platform: gpio
    id: relay_1
    pin: GPIO12
  - platform: gpio
    id: relay_2
    pin: GPIO5
  - platform: gpio
    id: relay_3
    pin: GPIO4
  - platform: gpio
    id: relay_4
    pin: GPIO15

Abilitare i GPIO interni

Poi ho deciso di usare questo hardware anche per gestire l’ofuro di casa!

ofuro 1 ofuro 2

In pratica deve:

  • misurare la temperatura dell’acqua
  • accendere una pompa che faccia circolare l’acqua
  • accendere uno scaldacqua elettrico per scaldare l’acqua!

In più ho una ventola per arieggiare il bagno. Con questo sonoff posso gestire anche quella!

Ecco le foto della modifica:

Ho saldato dei pin nei fori della seriale e un cavo nero da 0,75 mmq per la massa

gpio, lato inferiore

Poi ho usato 5 dupont per collegarmi ai 3 gpio, ai 3.3v e anche alla massa

gpio, lato superiore

Adesso posso raggiungere facilmente i gpio dall’esterno dello sonoff 4ch!

gpio, case chiuso

Questa è la configurazione per esphome:

substitutions:
  device_name: hot-bath

esphome:
  name: ${device_name}
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  domain: !secret wifi_domain

  ap:
    ssid: ${device_name} Hotspot
    password: !secret hotspot_password

logger:
api:
  reboot_timeout: 0s
ota:
web_server:

dallas:
  - pin: GPIO2
    update_interval: 3s

sensor:
  - platform: dallas
    address: 0xc77f414e1f64ff28
    name: "hot bath temperature"

binary_sensor:
  - platform: gpio
    name: "Sonoff 4CH Button 1"
    pin:
      number: GPIO0
      mode:
        input: true
        pullup: true
      inverted: true
    on_press:
      then:
        - switch.toggle: hotbathheather
  - platform: gpio
    name: "Sonoff 4CH Button 2"
    pin:
      number: GPIO9
      mode:
        input: true
        pullup: true
      inverted: true
    on_press:
      then:
        - switch.toggle: hotbathpump
  - platform: gpio
    name: "Sonoff 4CH Button 3"
    pin:
      number: GPIO10
      mode:
        input: true
        pullup: true
      inverted: true
    on_press:
      then:
        - switch.toggle: bathroomfan
  - platform: gpio
    pin:
      number: GPIO14
      mode:
        input: true
        pullup: true
      inverted: true
    name: "Sonoff 4CH Button 4"
    on_press:
      then:
        - switch.toggle: relay4
  - platform: gpio
    pin:
      number: GPIO1 # TX
      inverted: true
      mode:
        input: true
        pullup: true
    name: "hot bath window"
  # - platform: gpio
  #   pin:
  #     number: GPIO3 # RX
  #     inverted: true
  #     mode:
  #       input: true
  #       pullup: true
  #   name: RX
  # - platform: gpio
  #   pin:
  #     number: GPIO2 # I02
  #     inverted: true
  #     mode:
  #       input: true
  #       pullup: true
  #   name: "hot bath window"

switch:
  - platform: gpio
    id: hotbathheather
    name: "hot bath heater"
    pin: GPIO12
  - platform: gpio
    id: hotbathpump
    name: "hot bath pump"
    pin: GPIO5
  - platform: gpio
    id: bathroomfan
    name: "basement bathroom fan"
    pin: GPIO4
  - platform: gpio
    id: relay4
    name: "Sonoff 4CH Relay 4"
    pin: GPIO15

Aggiungerò un’automazione per mantenere la temperatura intorno ai 42,5 gradi… ma questo in futuro!

Restate sintonizzati per altri aggiornamenti!

Per qualsiasi domanda passate dal canale telegram