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. How To: Make a Simple/Cheap Scene Controller (with video)

How To: Make a Simple/Cheap Scene Controller (with video)

Scheduled Pinned Locked Moved My Project
62 Posts 19 Posters 40.1k Views 15 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.
  • Michal MormonM Michal Mormon

    @Maciej-Kulawik
    I found it as 'Scene' switch but this example send only V_SCENE_ON the first time (the switch is still ON later)

    M Offline
    M Offline
    Maciej Kulawik
    wrote on last edited by
    #30

    @Michal-Mormon
    Yes, exactly! It looks like without scene_off sent from scene controller in domoticz it will be one-time action (since if this scene switch is switched on you cannot switch it on again). You can try to setup automatic switching it off in domoticz.

    1 Reply Last reply
    1
    • Michal MormonM Offline
      Michal MormonM Offline
      Michal Mormon
      wrote on last edited by
      #31

      I added 2 lines and works perfect with Domoticz:

      MyMessage scene(KEYPAD_CHILD_ID, V_SCENE_ON);
      MyMessage scene2(KEYPAD_CHILD_ID, V_SCENE_OFF); //added line

      gw.send(scene.set(keyInt));
      gw.send(scene2.set(keyInt)); //added line

      Michel - ItM 1 Reply Last reply
      1
      • Michal MormonM Michal Mormon

        I added 2 lines and works perfect with Domoticz:

        MyMessage scene(KEYPAD_CHILD_ID, V_SCENE_ON);
        MyMessage scene2(KEYPAD_CHILD_ID, V_SCENE_OFF); //added line

        gw.send(scene.set(keyInt));
        gw.send(scene2.set(keyInt)); //added line

        Michel - ItM Offline
        Michel - ItM Offline
        Michel - It
        wrote on last edited by
        #32

        @Michal-Mormon awesome!

        1 Reply Last reply
        0
        • DrJeffD Offline
          DrJeffD Offline
          DrJeff
          wrote on last edited by
          #33

          @petewill Have you updated this code to 2.0 yet? What is different?

          hekH petewillP 2 Replies Last reply
          0
          • DrJeffD DrJeff

            @petewill Have you updated this code to 2.0 yet? What is different?

            hekH Online
            hekH Online
            hek
            Admin
            wrote on last edited by
            #34

            @DrJeff

            https://forum.mysensors.org/topic/4276/converting-a-sketch-from-1-5-x-to-2-0-x

            DrJeffD 1 Reply Last reply
            0
            • hekH hek

              @DrJeff

              https://forum.mysensors.org/topic/4276/converting-a-sketch-from-1-5-x-to-2-0-x

              DrJeffD Offline
              DrJeffD Offline
              DrJeff
              wrote on last edited by
              #35

              @hek
              Yes I read but was soooo lazy! I just wanted it already done :grimacing:

              I just update one of my old sensors it was a simple single relay. My others are way more complicated! I will give this a try.

              1 Reply Last reply
              0
              • DrJeffD DrJeff

                @petewill Have you updated this code to 2.0 yet? What is different?

                petewillP Offline
                petewillP Offline
                petewill
                Admin
                wrote on last edited by
                #36

                @DrJeff said:

                @petewill Have you updated this code to 2.0 yet? What is different?

                Not yet, but I'm slowly working on it. :) The link hek gave is very helpful if you want to try it yourself. It's a good way to learn about the new features in 2.0.

                My "How To" home automation video channel: https://www.youtube.com/channel/UCq_Evyh5PQALx4m4CQuxqkA

                1 Reply Last reply
                0
                • dvr123D Offline
                  dvr123D Offline
                  dvr123
                  wrote on last edited by
                  #37

                  @petewill Any news about the 2.0 code? I am in the process of making scene controllers in the different rooms but can't get it to work.

                  petewillP 1 Reply Last reply
                  0
                  • dvr123D dvr123

                    @petewill Any news about the 2.0 code? I am in the process of making scene controllers in the different rooms but can't get it to work.

                    petewillP Offline
                    petewillP Offline
                    petewill
                    Admin
                    wrote on last edited by
                    #38

                    @dvr123 No, not yet :grimacing:
                    My thermostat project has taken priority over everything because I need one in my house. I have a prototype working but I need to finish it. It is taking much longer than expected and I also haven't had much time lately. Sorry.

                    My "How To" home automation video channel: https://www.youtube.com/channel/UCq_Evyh5PQALx4m4CQuxqkA

                    1 Reply Last reply
                    0
                    • Matt PittsM Offline
                      Matt PittsM Offline
                      Matt Pitts
                      wrote on last edited by
                      #39

                      Hi Guys,

                      I've been trying to compile this sketch without any success. I keep getting the following error when compiling

                      #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
                      

                      Can anyone help? thanks

                      petewillP 1 Reply Last reply
                      0
                      • Matt PittsM Matt Pitts

                        Hi Guys,

                        I've been trying to compile this sketch without any success. I keep getting the following error when compiling

                        #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
                        

                        Can anyone help? thanks

                        petewillP Offline
                        petewillP Offline
                        petewill
                        Admin
                        wrote on last edited by
                        #40

                        @Matt-Pitts I still haven't had time to convert/test the sketch for version 2.0. If you want to take a shot at it there is info here: https://forum.mysensors.org/topic/4276/converting-a-sketch-from-1-5-x-to-2-0-x

                        I will get to it eventually I just have other projects that are consuming my time right now. Sorry.

                        My "How To" home automation video channel: https://www.youtube.com/channel/UCq_Evyh5PQALx4m4CQuxqkA

                        1 Reply Last reply
                        0
                        • Łukasz KostrzewaŁ Offline
                          Łukasz KostrzewaŁ Offline
                          Łukasz Kostrzewa
                          wrote on last edited by
                          #41
                          This post is deleted!
                          1 Reply Last reply
                          0
                          • dvr123D Offline
                            dvr123D Offline
                            dvr123
                            wrote on last edited by
                            #42

                            Why is Lukas' post deleted? I have got it in the mail and it seems to compile correctly.
                            The only thing is that Domoticz only recognizes the button on the first click, after that Domoticz isn't receiving anything.

                            1 Reply Last reply
                            0
                            • hekH Online
                              hekH Online
                              hek
                              Admin
                              wrote on last edited by
                              #43

                              Not sure why @Łukasz-Kostrzewa deleted it. As an administrator, I can still see the post.

                              1 Reply Last reply
                              0
                              • Łukasz KostrzewaŁ Offline
                                Łukasz KostrzewaŁ Offline
                                Łukasz Kostrzewa
                                wrote on last edited by
                                #44

                                Hi
                                I delated my post because it pasted wrong. I try to paste it correctly but don't know how:( (hek - maybe You as an administrator can paste it corectly?)

                                dvr123 have right that this code recognize the buton only on the first click:(
                                Mayby someone knows how to modify the code to work like normal buton (not the scene controller)?

                                Best regards

                                1 Reply Last reply
                                0
                                • dvr123D Offline
                                  dvr123D Offline
                                  dvr123
                                  wrote on last edited by
                                  #45

                                  I am okey with the scene button, but it has to work more than one time :smile:

                                  1 Reply Last reply
                                  0
                                  • hekH Online
                                    hekH Online
                                    hek
                                    Admin
                                    wrote on last edited by
                                    #46

                                    @Łukasz-Kostrzewa, paste code within 3 backtick characters, like this:

                                    ```
                                    Insert Code Here
                                    ```

                                    1 Reply Last reply
                                    0
                                    • Łukasz KostrzewaŁ Offline
                                      Łukasz KostrzewaŁ Offline
                                      Łukasz Kostrzewa
                                      wrote on last edited by
                                      #47

                                      You could do that but it is not a great solution.
                                      Add to Domoticz all 8 switches (4 when pressed and 4 when hold).
                                      In first switch (pressed switch) add Slave device (first hold switch). Do it for all 4 switches.
                                      To 5,6,7,8 switches add Slave Device (1,2,3,4 switch).
                                      It works like that:
                                      When You press First number on keyboard it change state to ON and 5 to OFF
                                      When You Hold first number on keybord it change state of 5 switch to ON and first to OFF.
                                      Next You have to make some events to trigger some scenes or lights
                                      I have hope I managed to explain what I mean :)
                                      Best regards

                                      1 Reply Last reply
                                      0
                                      • Łukasz KostrzewaŁ Offline
                                        Łukasz KostrzewaŁ Offline
                                        Łukasz Kostrzewa
                                        wrote on last edited by Łukasz Kostrzewa
                                        #48

                                        The 2.0 version code:

                                        #define MY_DEBUG
                                        #define MY_RADIO_NRF24
                                        
                                        #include <SPI.h>
                                        #include <MySensors.h>
                                        #include <Keypad.h>
                                        
                                        #define NODE_ID 14 // or set to AUTO if you want gw to assign a NODE_ID for you.
                                        #define SN "Scene Controller"
                                        #define SV "1.0"
                                        #define KEYPAD_CHILD_ID 95
                                        
                                        MyMessage scene(KEYPAD_CHILD_ID, V_SCENE_ON); 
                                        MyMessage scene2(KEYPAD_CHILD_ID, V_SCENE_OFF); 
                                        
                                        const byte ROWS = 4; //four rows
                                        const byte COLS = 1; //three columns
                                        char keys[ROWS][COLS] = {
                                          {'1'},
                                          {'2'},
                                          {'3'},
                                          {'4'}
                                        };
                                        
                                        byte rowPins[ROWS] = {6, 7, 4, 5}; //connect to the row pinouts of the keypad
                                        byte colPins[COLS] = {8}; //connect to the column pinouts of the keypad
                                        
                                        Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
                                        byte lastState;
                                        
                                        
                                        void setup() {
                                          
                                          sendSketchInfo(SN, SV);
                                          present(KEYPAD_CHILD_ID, S_SCENE_CONTROLLER);
                                          keypad.addEventListener(keypadEvent);
                                        }
                                        
                                        void loop() {
                                          char key = keypad.getKey();
                                        }
                                        
                                        void keypadEvent(KeypadEvent key) {
                                          switch (keypad.getState()) {
                                        
                                            case PRESSED:
                                              lastState = 1;
                                              break;
                                        
                                            case HOLD:
                                              lastState = 2;
                                              break;
                                        
                                            case RELEASED:
                                              int keyInt = key - '0'; //Quick way to convert Char to Int so it can be sent to controller
                                              if (lastState == 2) {
                                                keyInt = keyInt + 4; //If button is held, add 4.  If using more than 4 buttons this number will need to be changed
                                              }
                                              send(scene.set(keyInt));
                                              break;
                                         }
                                        }       
                                        
                                        1 Reply Last reply
                                        0
                                        • dvr123D Offline
                                          dvr123D Offline
                                          dvr123
                                          wrote on last edited by
                                          #49

                                          That's actually much easier! But how do we manage to get it working more than one time? Because I can add the button but after that I can't control it. I can't see the button presses in the Domoticz log either.

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


                                          15

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 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