Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. My Project
  3. RF433 Hub for controlling Watts Clever switches

RF433 Hub for controlling Watts Clever switches

Scheduled Pinned Locked Moved My Project
5 Posts 2 Posters 728 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • HomerH Offline
    HomerH Offline
    Homer
    wrote on last edited by
    #1

    Hi everyone!

    I would like to share with you all something that I have been working on for some time. It isn't my first project, but it is the first that I have shared in this way, and I must say that I am a little excited haha

    BACKGROUND

    A couple years ago I was at my local electronics store and they had a sale on some wall switches which were controllable using rf433. Each box had two switches as well as a hub that converted an infrared signal into rf433 which the individual switches were able to learn so they could be turned on and off. At that time I was playing around with Mysensors but had only made a couple relays, temp nodes and the like. I bought these at the time with the intention of using my Harmony Remote Hub to operate the switches. 3 years ago will finally moved into our new home, and while doing so we somehow misplaced the whole Harmony setup, so up until a couple months ago these switches gathered dust in the garage.

    Fast forward to a couple months ago, and with the help of some awesome members here, I was able to build a Mysensors RF433 Hub wot control all 6 of my switches. I had used a little maths to work out the signals, and even though I had only had 3 of the switches enter use, they seemed to be working as they should; that was until a couple days ago when I noticed that my pool pump which was powered through one of my switches was turning on every day at 1pm, despite no scenes in my controller (Vera 3) doing so. Long story short (haha) I worked out that when my fish tank lights turned on at 1pm, that switches frequency must have been too similar to the pool pump!

    So the last couple days I have been doing lots of searching, and hopefully a little learning. I was going to use the Candle Signal Hub, but ended up doing something on my own. I was lucky and found someone else on the internet who also had 6 plugs and had shared the code for each switch, which was very helpful!

    It's probably time for me to stop rambling lol so first here are some pics:

    The Switch
    0_1558261451143_switch.jpg

    The Hub
    0_1558261488775_node.jpg

    Please excuse all the extra wires on the Nano; it stopped being recognised by all my computers so I had to program it using an FTDI adaptor.

    Here is the sketch. I am certain that it could be tidied up a lot.

    // Enable debug prints to serial monitor
    //#define MY_DEBUG
    
    // Enable and select radio type attached
    #define MY_RADIO_NRF24
    //#define MY_RADIO_RFM69
    
    // Enable repeater functionality for this node
    #define MY_REPEATER_FEATURE
    
    #include <SPI.h>
    #include <MySensors.h>
    #include <RCSwitch.h>
    
    #define MY_NODE_ID AUTO
    
    #define NUMBER_OF_PLUGS 6 // Total number of attached plugs
    
    #define SHORTPULSE 316
    #define LONGPULSE 818
    
    #define CODE_1On 4072574
    #define CODE_1Off 4072566
    #define CODE_2On 4072572
    #define CODE_2Off 4072564
    #define CODE_3On 4072570
    #define CODE_3Off 4072562
    #define CODE_4On 1386894
    #define CODE_4Off 1386886
    #define CODE_5On 1386892
    #define CODE_5Off 1386884
    #define CODE_6On 1386890
    #define CODE_6Off 1386882
    
    
    
    RCSwitch mySwitch = RCSwitch();
    
    void setup() {
      mySwitch.enableTransmit(4);
      mySwitch.setRepeatTransmit(15);
    }
    
    void presentation()
    {
      // Send the sketch version information to the gateway and Controller
      sendSketchInfo("433mhz HUB", "2.0");
    
      for (int sensor = 1 ; sensor <= NUMBER_OF_PLUGS; sensor++) {
        // Register all sensors to gw (they will be created as child devices)
        present(sensor, S_LIGHT);
      }
    }
    
    
    void loop()
    {
    
    }
    
    void receive(const MyMessage &message) {
      // We only expect one type of message from controller. But we better check anyway.
      if (message.type == V_LIGHT) {
        int incomingLightState =  message.getBool();
        int incomingOutlet = message.sensor;
    
        Serial.print("Outlet #: ");
        Serial.println(message.sensor);
        Serial.print("Command: ");
        Serial.println(message.getBool());
    
        if (incomingOutlet == 1) {
          if (incomingLightState == 1) {
            // Turn on  socket 1
            Serial.println("Turn on Socket 1");
            mySwitch.send(CODE_1On, 24); // These codes are unique to each outlet
            delay(50);
          }
          if (incomingLightState == 0)  {
            // Turn off socket 1
            Serial.println("Turn off Socket 1");
            mySwitch.send(CODE_1Off, 24);
            delay(50);
          }
        }
        if (incomingOutlet == 2) {
          if (incomingLightState == 1) {
            // Turn on  socket 2
            Serial.println("Turn on Socket 2");
            mySwitch.send(CODE_2On, 24);
            delay(50);
          }
          if (incomingLightState == 0)  {
            // Turn off socket 2
            Serial.println("Turn off Socket 2");
            mySwitch.send(CODE_2Off, 24);
            delay(50);
          }
        }
        if (incomingOutlet == 3) {
          if (incomingLightState == 1) {
            // Turn on  socket 3
            Serial.println("Turn on Socket 3");
            mySwitch.send(CODE_3On, 24);
            delay(50);
          }
          if (incomingLightState == 0)  {
            // Turn off socket 3
            Serial.println("Turn off Socket 3");
            mySwitch.send(CODE_3Off, 24);
            delay(50);
          }
        }
        if (incomingOutlet == 4) {
          if (incomingLightState == 1) {
            // Turn on  socket 4
            Serial.println("Turn on Socket 4");
            mySwitch.send(CODE_4On, 24);
            delay(50);
          }
          if (incomingLightState == 0)  {
            // Turn off socket 4
            Serial.println("Turn off Socket 4");
            mySwitch.send(CODE_4Off, 24);
            delay(50);
          }
        }
        if (incomingOutlet == 5) {
          if (incomingLightState == 1) {
            // Turn on  socket 5
            Serial.println("Turn on Socket 5");
            mySwitch.send(CODE_5On, 24);
            delay(50);
          }
          if (incomingLightState == 0)  {
            // Turn off socket 5
            Serial.println("Turn off Socket 5");
            mySwitch.send(CODE_5Off, 24);
            delay(50);
          }
        }
        if (incomingOutlet == 6) {
          if (incomingLightState == 1) {
            // Turn on  socket 6
            Serial.println("Turn on Socket 6");
            mySwitch.send(CODE_6On, 24);
            delay(50);
          }
          if (incomingLightState == 0)  {
            // Turn off socket 6
            Serial.println("Turn off Socket 6");
            mySwitch.send(CODE_6Off, 24);
            delay(50);
          }
        }
      }
      delay(50);
    }```
    
    I would like to give my sincere thanks to everyone here. I may not post all that much, but I enjoy reading what others are doing and trying to learn from it, although much of it is still way over my head! To @hek I still remember how excited I was when I found MySensors all those years ago, and I thank you and your crew for keeping this great community going!
    
    I am also certain that most of you won't get very much from this technical-wise; I just needed to share this for myself. Thank you all.
    1 Reply Last reply
    2
    • franz-unixF Offline
      franz-unixF Offline
      franz-unix
      wrote on last edited by
      #2

      Hi Homer, do you know the RFLink firmware?

      If you are lucky, your plugs are supported. I have tested it with my Avidsen smart plug (this) and it worked well.

      The firmware is supported by Home Assistant and other home automation software like Domoticz and Openhab (not tested by me), so the final result is that you can control your plugs from a simple web interface.

      HomerH 2 Replies Last reply
      0
      • franz-unixF franz-unix

        Hi Homer, do you know the RFLink firmware?

        If you are lucky, your plugs are supported. I have tested it with my Avidsen smart plug (this) and it worked well.

        The firmware is supported by Home Assistant and other home automation software like Domoticz and Openhab (not tested by me), so the final result is that you can control your plugs from a simple web interface.

        HomerH Offline
        HomerH Offline
        Homer
        wrote on last edited by
        #3

        @franz-unix said in RF433 Hub for controlling Watts Clever switches:

        Hi Homer, do you know the RFLink firmware?

        If you are lucky, your plugs are supported. I have tested it with my Avidsen smart plug (this) and it worked well.

        The firmware is supported by Home Assistant and other home automation software like Domoticz and Openhab (not tested by me), so the final result is that you can control your plugs from a simple web interface.

        Hi mate!

        I have heard of RFLink, but nothing more. My first controller I made was one that I could control the switches using a web browser, but my controller (Vera) wouldn't play nice with it, so I moved on. Right now I have it all working as it should, but thanks for the additional ideas!!

        1 Reply Last reply
        0
        • franz-unixF franz-unix

          Hi Homer, do you know the RFLink firmware?

          If you are lucky, your plugs are supported. I have tested it with my Avidsen smart plug (this) and it worked well.

          The firmware is supported by Home Assistant and other home automation software like Domoticz and Openhab (not tested by me), so the final result is that you can control your plugs from a simple web interface.

          HomerH Offline
          HomerH Offline
          Homer
          wrote on last edited by
          #4

          @franz-unix said in RF433 Hub for controlling Watts Clever switches:

          Hi Homer, do you know the RFLink firmware?

          If you are lucky, your plugs are supported. I have tested it with my Avidsen smart plug (this) and it worked well.

          The firmware is supported by Home Assistant and other home automation software like Domoticz and Openhab (not tested by me), so the final result is that you can control your plugs from a simple web interface.

          I just looked further into this, and it really is exactly what I'm after, but unfortunately it doesn't interact with my controller, which is a Vera 3. Right now I'm seriously thinking about setting up Domoticz on my PC that I have running 24/7 because it looks like Domoticz and Vera work well together.

          franz-unixF 1 Reply Last reply
          0
          • HomerH Homer

            @franz-unix said in RF433 Hub for controlling Watts Clever switches:

            Hi Homer, do you know the RFLink firmware?

            If you are lucky, your plugs are supported. I have tested it with my Avidsen smart plug (this) and it worked well.

            The firmware is supported by Home Assistant and other home automation software like Domoticz and Openhab (not tested by me), so the final result is that you can control your plugs from a simple web interface.

            I just looked further into this, and it really is exactly what I'm after, but unfortunately it doesn't interact with my controller, which is a Vera 3. Right now I'm seriously thinking about setting up Domoticz on my PC that I have running 24/7 because it looks like Domoticz and Vera work well together.

            franz-unixF Offline
            franz-unixF Offline
            franz-unix
            wrote on last edited by
            #5

            @homer Glad that it helped!

            But make sure that RFLink supports your Watts Clever smart plug. If you already have an Arduino Mega and an RXB6 receiver at home is quite easy and fast to verify that.

            Another interesting option is that you can couple the Arduino Mega with an ESP8266 and then expose the serial output over Wifi with ser2net (see here) in the ESPEasy firmware.

            This other project goes further and use an ESP8266 to write the serial output of the RFLink to an MQTT server.

            Both solutions add flexibility to the positioning of the RFLink module in your home.

            1 Reply Last reply
            1
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            39

            Online

            11.7k

            Users

            11.2k

            Topics

            113.1k

            Posts


            Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • MySensors
            • OpenHardware.io
            • Categories
            • Recent
            • Tags
            • Popular