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. Development
  3. setup ir sensor with domoticz !

setup ir sensor with domoticz !

Scheduled Pinned Locked Moved Development
18 Posts 4 Posters 12.6k Views 6 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.
  • AWIA AWI

    @Reza I have uploaded a Domoticz selector switch tutorial to demonstrate how to use the device. You need to rework it to serve your IR purpose. Have fun!

    R Offline
    R Offline
    Reza
    wrote on last edited by Reza
    #7

    @AWI
    hi
    so in Selector actions i must enter :
    http://192.168.2.110:8080/json.htm?type=command&param=switchlight&idx=971&switchcmd=Set Level&level=0

    change ip and change node-id in this link !?
    but this is for dimmer ! i want send a ir code (for example 0x1EE17887)

    i use sketch in mysensors: https://www.mysensors.org/build/ir

    AWIA 1 Reply Last reply
    0
    • R Reza

      @AWI
      hi
      so in Selector actions i must enter :
      http://192.168.2.110:8080/json.htm?type=command&param=switchlight&idx=971&switchcmd=Set Level&level=0

      change ip and change node-id in this link !?
      but this is for dimmer ! i want send a ir code (for example 0x1EE17887)

      i use sketch in mysensors: https://www.mysensors.org/build/ir

      AWIA Offline
      AWIA Offline
      AWI
      Hero Member
      wrote on last edited by
      #8

      @Reza The sketch you are using is a simple switch with the ir hex value hardcoded. You can rework it to a V_DIMMER and have it sent a few hardcoded values. The part below shows that the switch (V_LIGHT) sends the "Volume up" (0x1EE17887) code when switched on and the "Volume down" (0x1EE1F807) code when set to off.

      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 incomingRelayStatus = message.getInt();
           if (incomingRelayStatus == 1) {
            irsend.send(NEC, 0x1EE17887, 32); // Vol up yamaha ysp-900
           } else {
            irsend.send(NEC, 0x1EE1F807, 32); // Vol down yamaha ysp-900
           }
           // Start receiving ir again...
          irrecv.enableIRIn(); 
        }
      }
      

      I can think of a few other options with V_TEXT but that would skip the first part of your learning curve ;-)

      R 1 Reply Last reply
      1
      • AWIA AWI

        @Reza The sketch you are using is a simple switch with the ir hex value hardcoded. You can rework it to a V_DIMMER and have it sent a few hardcoded values. The part below shows that the switch (V_LIGHT) sends the "Volume up" (0x1EE17887) code when switched on and the "Volume down" (0x1EE1F807) code when set to off.

        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 incomingRelayStatus = message.getInt();
             if (incomingRelayStatus == 1) {
              irsend.send(NEC, 0x1EE17887, 32); // Vol up yamaha ysp-900
             } else {
              irsend.send(NEC, 0x1EE1F807, 32); // Vol down yamaha ysp-900
             }
             // Start receiving ir again...
            irrecv.enableIRIn(); 
          }
        }
        

        I can think of a few other options with V_TEXT but that would skip the first part of your learning curve ;-)

        R Offline
        R Offline
        Reza
        wrote on last edited by
        #9

        @AWI said:

        The sketch you are using is a simple switch with the ir hex value hardcoded. You can rework it to a V_DIMMER and have it sent a few hardcoded values. The part below shows that the switch (V_LIGHT) sends the "Volume up" (0x1EE17887) code when switched on and the "Volume down" (0x1EE1F807) code when set to off.

        i tried to programming several time again and again :( but i can't . I got tired :(
        please help :( if you have a ready sketch for domoticz , please give me until i read this and I learn it
        thank you :(

        AWIA 1 Reply Last reply
        0
        • R Reza

          @AWI said:

          The sketch you are using is a simple switch with the ir hex value hardcoded. You can rework it to a V_DIMMER and have it sent a few hardcoded values. The part below shows that the switch (V_LIGHT) sends the "Volume up" (0x1EE17887) code when switched on and the "Volume down" (0x1EE1F807) code when set to off.

          i tried to programming several time again and again :( but i can't . I got tired :(
          please help :( if you have a ready sketch for domoticz , please give me until i read this and I learn it
          thank you :(

          AWIA Offline
          AWIA Offline
          AWI
          Hero Member
          wrote on last edited by
          #10

          @Reza The sketch you are using is suited for Domoticz but only controls one switch. Were you able to get that working?

          R 1 Reply Last reply
          0
          • AWIA AWI

            @Reza The sketch you are using is suited for Domoticz but only controls one switch. Were you able to get that working?

            R Offline
            R Offline
            Reza
            wrote on last edited by Reza
            #11

            @AWI said:

            The sketch you are using is suited for Domoticz but only controls one switch. Were you able to get that working?

            i want use this for control my ir device (TV or Air conditioning...)
            for TV for example switch(off , on , ch+ ,ch- , vol- , vol + . . . )
            i change sketch again and again...but dont work for me :( I got tired

            AWIA 1 Reply Last reply
            0
            • R Reza

              @AWI said:

              The sketch you are using is suited for Domoticz but only controls one switch. Were you able to get that working?

              i want use this for control my ir device (TV or Air conditioning...)
              for TV for example switch(off , on , ch+ ,ch- , vol- , vol + . . . )
              i change sketch again and again...but dont work for me :( I got tired

              AWIA Offline
              AWIA Offline
              AWI
              Hero Member
              wrote on last edited by
              #12

              @Reza I sense that you expecting "an easy solution" for a kind of universal remote control. As there is no one standard Ir control protocol a lot of effort has been put in creating (Arduino) libraries like irlib/ irlib2. I would suggest to get a working knowledge by using the examples of those libraries.
              Then the next step is to MySensors'ize it and connect to a controller like Domoticz.
              I have limited experience with Ir control protocols (no need ;)) but could help you with the last part...

              R 1 Reply Last reply
              1
              • AWIA AWI

                @Reza I sense that you expecting "an easy solution" for a kind of universal remote control. As there is no one standard Ir control protocol a lot of effort has been put in creating (Arduino) libraries like irlib/ irlib2. I would suggest to get a working knowledge by using the examples of those libraries.
                Then the next step is to MySensors'ize it and connect to a controller like Domoticz.
                I have limited experience with Ir control protocols (no need ;)) but could help you with the last part...

                R Offline
                R Offline
                Reza
                wrote on last edited by
                #13

                @AWI

                i need this for my home now :( quickly :(

                i think every things is related to this part:

                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 incomingRelayStatus = message.getInt();
                     if (incomingRelayStatus == 1) {
                      irsend.send(NEC, 0x1EE17887, 32); // Vol up yamaha ysp-900
                     } else {
                      irsend.send(NEC, 0x1EE1F807, 32); // Vol down yamaha ysp-900
                     }
                     // Start receiving ir again...
                    irrecv.enableIRIn(); 
                  }
                }
                

                i test this with a V_DIMMER.and use your script (http://192.168.2.110:8080/json.htm?type=command&param=switchlight&idx=971&switchcmd=Set Level&level=0
                ) for level action in domoticz.but dont work...
                where problem in this code ? :(

                  if (message.type==V_DIMMER) {
                     int incomingdimmerStatus = message.getInt();
                     if (incomingdimmerStatus == 10) {
                      irsend.send(NEC, 0x1EE23882, 32); 
                     } 
                else if(incomingdimmerStatus == 20) {
                      irsend.send(NEC, 0x1FE1F807, 32); 
                     }
                else if(incomingdimmerStatus == 30) {
                      irsend.send(NEC, 0x1EE1F645, 32); 
                     }
                else if(incomingdimmerStatus == 40) {
                      irsend.send(NEC, 0x1EE1F956, 32); 
                     }
                else if(incomingdimmerStatus == 50) {
                      irsend.send(NEC, 0x1EF1F804, 32); 
                     }
                    irrecv.enableIRIn(); 
                  }
                }
                
                AWIA 1 Reply Last reply
                0
                • R Reza

                  @AWI

                  i need this for my home now :( quickly :(

                  i think every things is related to this part:

                  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 incomingRelayStatus = message.getInt();
                       if (incomingRelayStatus == 1) {
                        irsend.send(NEC, 0x1EE17887, 32); // Vol up yamaha ysp-900
                       } else {
                        irsend.send(NEC, 0x1EE1F807, 32); // Vol down yamaha ysp-900
                       }
                       // Start receiving ir again...
                      irrecv.enableIRIn(); 
                    }
                  }
                  

                  i test this with a V_DIMMER.and use your script (http://192.168.2.110:8080/json.htm?type=command&param=switchlight&idx=971&switchcmd=Set Level&level=0
                  ) for level action in domoticz.but dont work...
                  where problem in this code ? :(

                    if (message.type==V_DIMMER) {
                       int incomingdimmerStatus = message.getInt();
                       if (incomingdimmerStatus == 10) {
                        irsend.send(NEC, 0x1EE23882, 32); 
                       } 
                  else if(incomingdimmerStatus == 20) {
                        irsend.send(NEC, 0x1FE1F807, 32); 
                       }
                  else if(incomingdimmerStatus == 30) {
                        irsend.send(NEC, 0x1EE1F645, 32); 
                       }
                  else if(incomingdimmerStatus == 40) {
                        irsend.send(NEC, 0x1EE1F956, 32); 
                       }
                  else if(incomingdimmerStatus == 50) {
                        irsend.send(NEC, 0x1EF1F804, 32); 
                       }
                      irrecv.enableIRIn(); 
                    }
                  }
                  
                  AWIA Offline
                  AWIA Offline
                  AWI
                  Hero Member
                  wrote on last edited by
                  #14

                  @Reza I guess you better put a few print statements in the code so you can see what is happening on the serial port.

                  Did you change the IP address and "idx" values in the script string to match your own setup?

                  The "V_DIMMER" values you receive are most likely not exact mulitples of 10 (10.. 20.. 30.. 400) but somewhere in between. You should use a statement like in my example:

                  incomingdimmerStatus = map(message.getInt(), 0, 100, 0, 15)  ; // mapper dimmer value to state 0..9  
                  

                  :smile: you better call 911 if things are really getting out of hand in your home...:scream:

                  R 2 Replies Last reply
                  2
                  • AWIA AWI

                    @Reza I guess you better put a few print statements in the code so you can see what is happening on the serial port.

                    Did you change the IP address and "idx" values in the script string to match your own setup?

                    The "V_DIMMER" values you receive are most likely not exact mulitples of 10 (10.. 20.. 30.. 400) but somewhere in between. You should use a statement like in my example:

                    incomingdimmerStatus = map(message.getInt(), 0, 100, 0, 15)  ; // mapper dimmer value to state 0..9  
                    

                    :smile: you better call 911 if things are really getting out of hand in your home...:scream:

                    R Offline
                    R Offline
                    Reza
                    wrote on last edited by
                    #15
                    This post is deleted!
                    1 Reply Last reply
                    0
                    • AWIA AWI

                      @Reza I guess you better put a few print statements in the code so you can see what is happening on the serial port.

                      Did you change the IP address and "idx" values in the script string to match your own setup?

                      The "V_DIMMER" values you receive are most likely not exact mulitples of 10 (10.. 20.. 30.. 400) but somewhere in between. You should use a statement like in my example:

                      incomingdimmerStatus = map(message.getInt(), 0, 100, 0, 15)  ; // mapper dimmer value to state 0..9  
                      

                      :smile: you better call 911 if things are really getting out of hand in your home...:scream:

                      R Offline
                      R Offline
                      Reza
                      wrote on last edited by
                      #16

                      @AWI
                      i can not :(
                      please help

                      // Enable debug prints
                      #define MY_DEBUG
                      
                      // Enable and select radio type attached
                      #define MY_RADIO_NRF24
                      //#define MY_RADIO_RFM69
                      
                      #define MY_RF24_CHANNEL 0
                      
                      
                      #define MY_REPEATER_FEATURE
                      
                      #include <SPI.h>
                      #include <MySensors.h>
                      #include <IRLib.h>
                      
                      int RECV_PIN = 8;
                      
                      #define CHILD_1  3  // childId
                      
                      IRsend irsend;
                      IRrecv irrecv(RECV_PIN);
                      IRdecode decoder;
                      //decode_results results;
                      unsigned int Buffer[RAWBUF];
                      MyMessage msg(CHILD_1, V_VAR1);
                      
                      void setup()
                      {
                        irrecv.enableIRIn(); // Start the ir receiver
                        decoder.UseExtnBuf(Buffer);
                      
                      }
                      
                      void presentation()  {
                        // Send the sketch version information to the gateway and Controller
                        sendSketchInfo("IR Sensor", "1.0");
                      
                        // Register a sensors to  Use binary light for test purposes.
                        present(CHILD_1, S_LIGHT);
                      }
                      
                      void loop()
                      {
                        if (irrecv.GetResults(&decoder)) {
                          irrecv.resume();
                          decoder.decode();
                          decoder.DumpResults();
                      
                          char buffer[10];
                          sprintf(buffer, "%08lx", decoder.value);
                          // Send ir result to gw
                          send(msg.set(buffer));
                        }
                      }
                      
                      
                      
                      void receive(const MyMessage &message) {
                        if (message.type == V_DIMMER) {
                      ???
                      

                      I don't know what to write here :(

                      i tried for the 3 day on this sketch but i could not .
                      please help :( i just control 4 ir code with a "selector" in domoticz

                      i just want control this ir code:
                      e0e040bf
                      e0e0f00f
                      e0e0d02f
                      e0e0e01f
                      please help :(

                      what is write after this line ?
                      void receive(const MyMessage &message) {
                      if (message.type == V_DIMMER) {

                      so what is change in this code (in level action in domoticz)
                      http://192.168.2.100:8080/json.htm?type=command&param=switchlight&idx=14&switchcmd=Set Level&level=0

                      thank you my friend :(

                      1 Reply Last reply
                      0
                      • hekH Offline
                        hekH Offline
                        hek
                        Admin
                        wrote on last edited by hek
                        #17

                        @Reza, AWI has already given you the hints needed.

                        Please make some research on your own before asking the most basic programming questions here.

                        You cannot bypass acquiring some basic programming! Like loops, if-statements, switches, function calls. We also urge you to get a basic knowledge of build in Arduino apis.

                        The MySensors forum is intended for supporting the MySensors library and related project questions and you are creating irritation among the most patient community members when not acknowledging their requests of increasing your programming skills.

                        I know it it much simpler (for you) to just ask here for a solution to every problem you might encounter... but please don't. Do you homework first. If you don't understand what a function call means google it and read what the api says. Test it in a simple (none mysensors) sketch. Learn!

                        And please stop using :exclamation: marks all over the posts. It's annoying.

                        Sorry for being harsh. But you got to step up here.

                        R 1 Reply Last reply
                        4
                        • hekH hek

                          @Reza, AWI has already given you the hints needed.

                          Please make some research on your own before asking the most basic programming questions here.

                          You cannot bypass acquiring some basic programming! Like loops, if-statements, switches, function calls. We also urge you to get a basic knowledge of build in Arduino apis.

                          The MySensors forum is intended for supporting the MySensors library and related project questions and you are creating irritation among the most patient community members when not acknowledging their requests of increasing your programming skills.

                          I know it it much simpler (for you) to just ask here for a solution to every problem you might encounter... but please don't. Do you homework first. If you don't understand what a function call means google it and read what the api says. Test it in a simple (none mysensors) sketch. Learn!

                          And please stop using :exclamation: marks all over the posts. It's annoying.

                          Sorry for being harsh. But you got to step up here.

                          R Offline
                          R Offline
                          Reza
                          wrote on last edited by
                          #18

                          @hek
                          ok thank you , sorry :(

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


                          12

                          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