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. Announcements
  3. 💬 Door, Window and Push-button Sensor

💬 Door, Window and Push-button Sensor

Scheduled Pinned Locked Moved Announcements
110 Posts 36 Posters 22.5k Views 32 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.
  • gohanG gohan

    you are at the limit of the radio range I'd say so randomly it looses a message, so you need to either increase power or get a better antenna (I hope you aren't using any buck/boost converter as power supply)

    P Offline
    P Offline
    Pavel Polititsky
    wrote on last edited by
    #87

    @gohan how you know?
    Id 21 from range 0..255. Are you sure that is limit?

    Same with any different IDs, I tried sending message 3 times, this guarantees delivery of payload, but it using too much power

    Now I use power supply with 1117

    But my other nodes powered by CR2032 with boost 0.8-3.3V dc/dc with inductor coil on the NRF24 supply pin without any troubles

    Nca78N 1 Reply Last reply
    0
    • P Pavel Polititsky

      @gohan how you know?
      Id 21 from range 0..255. Are you sure that is limit?

      Same with any different IDs, I tried sending message 3 times, this guarantees delivery of payload, but it using too much power

      Now I use power supply with 1117

      But my other nodes powered by CR2032 with boost 0.8-3.3V dc/dc with inductor coil on the NRF24 supply pin without any troubles

      Nca78N Offline
      Nca78N Offline
      Nca78
      Hardware Contributor
      wrote on last edited by
      #88

      @pavel-polititsky said in 💬 Door, Window and Push-button Sensor:

      @gohan how you know?
      Id 21 from range 0..255. Are you sure that is limit?

      He means radio range (distance) not ID of node ;)

      P 1 Reply Last reply
      0
      • Nca78N Nca78

        @pavel-polititsky said in 💬 Door, Window and Push-button Sensor:

        @gohan how you know?
        Id 21 from range 0..255. Are you sure that is limit?

        He means radio range (distance) not ID of node ;)

        P Offline
        P Offline
        Pavel Polititsky
        wrote on last edited by
        #89

        @nca78 oke, undestood
        Problem stiil not resolved. I want to send message again to the gateway if NACK but dont know how to do it.

        send(msg.set(value == HIGH), true); 
        

        in this case i have additional ack log in the serial debug, nothing more

        1 Reply Last reply
        0
        • gohanG Offline
          gohanG Offline
          gohan
          Mod
          wrote on last edited by
          #90

          The send function returns a value, so you can check if it was successfully sent or not and in case retry

          1 Reply Last reply
          0
          • alowhumA Offline
            alowhumA Offline
            alowhum
            Plugin Developer
            wrote on last edited by alowhum
            #91

            A quick ACK example:

                    static boolean tryAgainLater = false; // should we resend?
            
                    if(send(msgDust.setSensor(CHILD_ID_DUST_PM25).set(sensorValue),1)){
                      Serial.println(F("Received ACK"));
                      tryAgainLater = false;
                    }else {
                      Serial.println(F("Connection problem, try again"));
                      tryAgainLater = true;
                    }
            
            1 Reply Last reply
            0
            • mfalkviddM Offline
              mfalkviddM Offline
              mfalkvidd
              Mod
              wrote on last edited by mfalkvidd
              #92

              There is no need to set the second parameter to send() to true. That parameter is unrelated to the return value (except very unfortunate similar naming). More info: https://github.com/mysensors/MySensors/issues/1103

              1 Reply Last reply
              1
              • alowhumA Offline
                alowhumA Offline
                alowhum
                Plugin Developer
                wrote on last edited by alowhum
                #93

                @mfalkvidd said in 💬 Door, Window and Push-button Sensor:

                https://github.com/mysensors/MySensors/issues/1103

                Ah, thanks. So ACK basically always happens?

                in that case, do you have any better example code on how to check if the ACK is received?

                mfalkviddM 1 Reply Last reply
                0
                • alowhumA alowhum

                  @mfalkvidd said in 💬 Door, Window and Push-button Sensor:

                  https://github.com/mysensors/MySensors/issues/1103

                  Ah, thanks. So ACK basically always happens?

                  in that case, do you have any better example code on how to check if the ACK is received?

                  mfalkviddM Offline
                  mfalkviddM Offline
                  mfalkvidd
                  Mod
                  wrote on last edited by mfalkvidd
                  #94

                  @alowhum on nrf24, "hardware" ack is always on. "Software" ack is controlled by the second parameter in the send() function. Read https://forum.mysensors.org/post/34267 for an attempt to sort out the details. It is still quite confusing for me.

                  1 Reply Last reply
                  0
                  • tianaT Offline
                    tianaT Offline
                    tiana
                    wrote on last edited by
                    #95

                    What will happen if i cut the power OFF of the radio after each transmission? is it needed to be initialize again before next transmission?

                    mfalkviddM 1 Reply Last reply
                    0
                    • tianaT tiana

                      What will happen if i cut the power OFF of the radio after each transmission? is it needed to be initialize again before next transmission?

                      mfalkviddM Offline
                      mfalkviddM Offline
                      mfalkvidd
                      Mod
                      wrote on last edited by
                      #96

                      @tiana yes.

                      But don't cut the power. Use transportDisable and transportReInitialize instead.

                      1 Reply Last reply
                      0
                      • tianaT Offline
                        tianaT Offline
                        tiana
                        wrote on last edited by
                        #97

                        Do you know how much will be power usage in transportDisable mode?

                        mfalkviddM 1 Reply Last reply
                        0
                        • tianaT tiana

                          Do you know how much will be power usage in transportDisable mode?

                          mfalkviddM Offline
                          mfalkviddM Offline
                          mfalkvidd
                          Mod
                          wrote on last edited by
                          #98

                          @tiana depends on which transport you are using, and if using genuine or clone chips. The nrf24 is rated for 900nA.

                          1 Reply Last reply
                          0
                          • tianaT Offline
                            tianaT Offline
                            tiana
                            wrote on last edited by
                            #99

                            Thanks for fast reply, actually 900nA is to big number and i prefer to use xxx_POWER_PIN to cut the power of the NRF module.
                            I am building switch powered with CR2032 battery and i want to extend battery live as much as possible, for a switch is not needed to keep radio alive, i need it ON only when transmit signal

                            mfalkviddM 1 Reply Last reply
                            0
                            • tianaT tiana

                              Thanks for fast reply, actually 900nA is to big number and i prefer to use xxx_POWER_PIN to cut the power of the NRF module.
                              I am building switch powered with CR2032 battery and i want to extend battery live as much as possible, for a switch is not needed to keep radio alive, i need it ON only when transmit signal

                              mfalkviddM Offline
                              mfalkviddM Offline
                              mfalkvidd
                              Mod
                              wrote on last edited by mfalkvidd
                              #100

                              @tiana 900nA on a cr2032 is 27.9 years battery life. The self discharge of a cr2032 is around 250nA.
                              But yes, use the power pin setting if you want to.

                              Would be interesting to see how long sleep times are needed to make up for the extra time needed to wake up the radio from power off compared to sleep. The mcu and the radio will need to be awake for 100ms longer time when starting from power off than when starting from sleep.

                              1 Reply Last reply
                              1
                              • T Offline
                                T Offline
                                Terence Faul
                                wrote on last edited by
                                #101

                                Hi I notice that there is not sleep in this sketch. Is it not required for this build

                                mfalkviddM 1 Reply Last reply
                                0
                                • T Terence Faul

                                  Hi I notice that there is not sleep in this sketch. Is it not required for this build

                                  mfalkviddM Offline
                                  mfalkviddM Offline
                                  mfalkvidd
                                  Mod
                                  wrote on last edited by
                                  #102

                                  @terence-faul the sketch will work as-is, as long as the node has a constant power supply. If you want a battery-powered node, you'll need sleep. See earlier discussions in this thread for ways to add sleep.

                                  1 Reply Last reply
                                  0
                                  • pepsonP Offline
                                    pepsonP Offline
                                    pepson
                                    wrote on last edited by
                                    #103

                                    Hi
                                    Can i connect two sensor contact to this arduino ? First to pin 3 second to pin 4 ? But how modified this sketch to support two sensor contact ?

                                    skywatchS 1 Reply Last reply
                                    0
                                    • pepsonP pepson

                                      Hi
                                      Can i connect two sensor contact to this arduino ? First to pin 3 second to pin 4 ? But how modified this sketch to support two sensor contact ?

                                      skywatchS Offline
                                      skywatchS Offline
                                      skywatch
                                      wrote on last edited by
                                      #104

                                      @pepson If you need the node to sleep or want to use interrupts then only digital pins 2 and 3 will do this for uno/promini.

                                      So otherwise 2 options really.

                                      If you just need to know that one of the sensors triggered (but not which one) then you can add sensors in series (for normally 'closed' sensors) or parallel (for normally 'open' sensors).

                                      To use interrupt and know which sensor triggered you'd have to connect both sensor to interrupt pin with blocking diodes to digital pins as well and then on interrupt you can check which digital pin activated the isr.

                                      1 Reply Last reply
                                      0
                                      • pepsonP Offline
                                        pepsonP Offline
                                        pepson
                                        wrote on last edited by
                                        #105

                                        I need connect two contact sensor. And i want to know from two sensor his status...
                                        I need use one to door but second to door garage.

                                        skywatchS 1 Reply Last reply
                                        0
                                        • pepsonP pepson

                                          I need connect two contact sensor. And i want to know from two sensor his status...
                                          I need use one to door but second to door garage.

                                          skywatchS Offline
                                          skywatchS Offline
                                          skywatch
                                          wrote on last edited by skywatch
                                          #106

                                          @pepson Then just add another sensor from ground to digital pin 2 and change the code you see in the example to accommodate the extra input.

                                          You'll need to add another child id, another button, another bounce function, another presentation, another send and another bounce call.

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


                                          22

                                          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