ITHO Daalderop FAN RF remote with C1101 and ESP8266

Hello,

I want to share some experience and code that i used to control a ITHO Daalderop CVE ECO-Fan.
This fan uses a RF protocol that is reverse engineerd by some clever people.
For reference i point to a dutch topic about it: https://gathering.tweakers.net/forum/list_messages/1690945/0

I developed a plugin for ESPEASY based on the library from this above forum by supersjimmie.
Sourcecode Plugin and Binary with plugin available at: GITHUB

Config:

sensor:
  - platform: mqtt
    name: Tijd
    state_topic: "/ESP_Easy/Fan/Timer"
    value_template: "{{value}}"
    unit_of_measurement: 's'
  - platform: mqtt
    name : Snelheid
    state_topic: "/ESP_Easy/Fan/State"
    value_template: >
      {% if value|float==0 %}Standby{% endif %}
      {% if value|float==1 %}Laag{% endif %}
      {% if value|float==2 %}Medium{% endif %}
      {% if value|float==3 %}Hoog{% endif %}
      {% if value|float==4 %}Full{% endif %}
      {% if value|float>=11 %}Hoog(T){% endif %}
     
fan:
  - platform: mqtt
    command_topic: "/ESP_Easy/Fan/cmd"
    state_topic : "/ESP_Easy/Fan/State"
    speed_command_topic: "/ESP_Easy/Fan/cmd"
    speed_state_topic: "/ESP_Easy/Fan/State"
    state_value_template: "{% if value|float==0 %}State 0{% endif %}{% if value|float >0 %}State 1{% endif %}"
    speed_value_template: "{% if value|float==0 %}State 0{% endif %}{% if value|float >0 and value|float <=4 %}State {{value}}{% endif %}{% if value|float >=11 %}State 3{% endif %}"
    payload_on: "State 1"
    payload_off: "State 0"
    payload_low_speed: "State 1"
    payload_medium_speed: "State 2"
    payload_high_speed: "State 3"
    optimistic: "true"
    name: Afzuiging badkamer
    speeds:
      - low
      - medium
      - high    

group:
  Ventilator:
    entities:
      - fan.afzuiging_badkamer
      - sensor.Snelheid
      - sensor.Tijd

customize.yaml

   sensor.tijd:
      icon: mdi:timer
   sensor.snelheid:
      icon: mdi:transfer   

Have Fun!

I really want to make this but i’am missing a step by step guide and witch stuff i have te buy.

You should have a look at de Dutch forum i mentioned incl. link.
If you are not a native dutch speaker use google/microsoft translater

Al you need is a Wemos D1 mini or any other ESP8266 boards with sufficient pins and a CC1101 868 MHz transmitte/receiver.
They are widely available on ebay and aliexpress.

@jodur , i have made the hardware and software with your github and this post. It is working, but my state is always ‘unkown’ and also the Time is ‘unkown’. How can i solve this?
I have soldered PIN6 to D1 on the Wemos and in ESPEasy under I2C Interface i have set GPIO ⇿ SDA and
GPIO ⇾ SCL to NONE. But still no ID of the remote.

Even when you receive nothing the state should be “low” and the time should be zero. It looks like you subscribed to the wrong MQTT topic, Make sure you did set the time value different to zero. This ensure that even when nog signals changes the state,timer and lastid is published cyclic with the set time.

Jodur thanks for sharing this project. Based on that, I made a manual containing the hardware and software that I used to make it work at home in Home Assistant.
https://docs.google.com/document/d/e/2PACX-1vRoO1TfkUKkyQlgzsmm7XzI3xyUXMBMrqwF6NJXVwQmykP6gMtsJWp-x2vYiHDEwyScqhsPkJHGGYs-/pub

1 Like

Arnoud, looks nice, now every “noob” just have to follow the document you made.
I will post this info also on the original tweakers thread.
Thanx.

@Arnout thank you for the clear explanation, very helpfull! although I think there is a small mistake. following the layout the first GPIO should be D1 instead of D12.

D1 is mapped to GPIO 5 in my case and isn’t used. D12 is mapped to GPIO 10 (my orange cable) which is connected to GDO2, the output signal. In my case it works like a charm.

@Arnout,
saw you removed the “10 minutes at max speed” option, as it’s no longer supported.

However, that option is quite nice to have in my opinion.
Would it be possible to create this again?

I didn’t remove that option, it wasn’t there in jodurs config.
But you don’t need it when you use Homeassistant for automation. You can define your timer there :wink:

I did mess up my ESPEasy 8266 that was used for this since ages, but as I’m working on some ESPHome things for work thought it was a nice ‘if it’s broken, lets fix it’ moment. For those of you interested in test-driving and/or improving: https://github.com/CoMPaTech/esphome_c1101 and yes it is based of off @jodur’s library and approach! (Tnx for all the usefull clues in there!)

It’s definitely not final or complete but thought I’d share it here or those with courage :slight_smile: