Skip to content

Latest commit

 

History

History
105 lines (71 loc) · 3.78 KB

README.md

File metadata and controls

105 lines (71 loc) · 3.78 KB

Somfy Remote

An ESP32/ESP8266 program able to emulate a Somfy remote control.

Forked from

(see also Credits section below)

If you want to learn more about the Somfy RTS protocol, check out Pushtack.

How the hardware works

Connect a 433.42 MHz RF transmitter to Pin 23 of the ESP32 (or change the pin in the config file). I ordered 433.42 MHz crystals to replace the one on a 433.92MHz transmitter.

How the software works

Copy src/config_EXAMPLE.h to config.h to adapt to your location. The relevant code lines are remarked. You can add or remove remotes to your liking.

The ESP will subscribe to the configured MQTT topics. Watch what is happening on the serial port to make sure it is working.

Programming the blinds:

  1. Press the program button on your actual remote. The blinds will move slightly.
  2. Publish 'p' message on the corresponding MQTT topic. The blinds will move slightly.
  3. Done !

Simply publish these messages on the corresponding topics to control your blinds:

  • u (up)
  • d (down)
  • s (stop, my)

The rolling code value is stored in the EEPROM, so that you don't loose count of your rolling code after a reset. In case you'd like to replace the ESP, write down the current rolling codes which can be read using the serial terminal (and use them as default rolling codes in config.h).

Use with Home Assistant

I added my blinds in the configuration.yaml in the following manner:

cover:
  - name: "Living room blinds"
    platform: mqtt
    
    availability:
      - topic: "smartHome/somfy-remote/status"
        payload_available: "online"
        payload_not_available: "offline"

    command_topic: "smartHome/livingRoom/blinds"
    payload_open: "u"
    payload_close: "d"
    payload_stop: "s"
    
    state_topic: "smartHome/livingRoom/blinds/state"
    state_opening: "opening"
    state_closing: "closing"
    state_stopped: "stopped"

    optimistic: true

  - name: "Office blinds"
    platform: mqtt
    
    availability:
      - topic: "smartHome/somfy-remote/status"
        payload_available: "online"
        payload_not_available: "offline"

    command_topic: "smartHome/office/blinds"
    payload_open: "u"
    payload_close: "d"
    payload_stop: "s"
    
    state_topic: "smartHome/office/blinds"
    state_opening: "opening"
    state_closing: "closing"
    state_stopped: "stopped"

    optimistic: true

Hardware I used

I basically followed @marmotton's original list, but this one here's adjusted for the German 🇩🇪 region:

ESP8266 board : D1 Mini at BerryBase

433 MHz RF transmitter : FS1000A at BerryBase

433.42 MHz SAW oscillator : at eBay from CN

PCB: : tbd

Credit

Credit is due to

whose this project is forked from; besides I'd like to thank @RoyOltmans with his somfy_esp8266_remote_arduino repository: this one gave me some more advice and inspiration for using a nice Fritzing PCB. You can find mine at [assets/Somfy Remote Fritzing Sketch.fzz](assets/Somfy Remote Fritzing Sketch.fzz). Reviews and ideas are highly welcome.