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. Troubleshooting
  3. Problems with first sensors

Problems with first sensors

Scheduled Pinned Locked Moved Troubleshooting
62 Posts 9 Posters 27.4k Views 11 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.
  • blebbensB Offline
    blebbensB Offline
    blebbens
    wrote on last edited by
    #7

    Nano seems to be damaged. Trying a new one tomorrow.
    One more question, please: I downloadee mysensors library 20.
    As I am using a serial hateway, I notices the gateway sketch uses the old gw.xxx structure. Do I have to modfiy the sketch on my own for preparing it for library 2.0? (My programming skills are under development). On githib the sketch is very basic, there is missing a lot?!

    1 Reply Last reply
    0
    • scalzS Offline
      scalzS Offline
      scalz
      Hardware Contributor
      wrote on last edited by scalz
      #8

      where do you see that gateway use old structure?
      the serial gw sketch you have in arduino ide should be the same as github. if not, you have not well updated your lib..
      don't worry, the sketch is very basic but it works. it's because lot of stuff is hidden for easing the lib use.

      1 Reply Last reply
      0
      • blebbensB Offline
        blebbensB Offline
        blebbens
        wrote on last edited by
        #9

        To me as a newbie it is a bit confusing...

        This sketch comes from mysensors.org:

        **
         * The MySensors Arduino library handles the wireless radio link and protocol
         * between your home built sensors/actuators and HA controller of choice.
         * The sensors forms a self healing radio network with optional repeaters. Each
         * repeater and gateway builds a routing tables in EEPROM which keeps track of the
         * network topology allowing messages to be routed to nodes.
         *
         * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
         * Copyright (C) 2013-2015 Sensnology AB
         * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
         *
         * Documentation: http://www.mysensors.org
         * Support Forum: http://forum.mysensors.org
         *
         * This program is free software; you can redistribute it and/or
         * modify it under the terms of the GNU General Public License
         * version 2 as published by the Free Software Foundation.
         *
         *******************************
         *
         * DESCRIPTION
         * The ArduinoGateway prints data received from sensors on the serial link. 
         * The gateway accepts input on seral which will be sent out on radio network.
         *
         * The GW code is designed for Arduino Nano 328p / 16MHz
         *
         * Wire connections (OPTIONAL):
         * - Inclusion button should be connected between digital pin 3 and GND  
         * - RX/TX/ERR leds need to be connected between +5V (anode) and digital pin 6/5/4 with resistor 270-330R in a series
         *
         * LEDs (OPTIONAL):
         * - To use the feature, uncomment WITH_LEDS_BLINKING in MyConfig.h
         * - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
         * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
         * - ERR (red) - fast blink on error during transmission error or recieve crc error 
         * 
         */
        
        #define NO_PORTB_PINCHANGES  
        
        #include <MySigningNone.h>
        #include <MyTransportRFM69.h>
        #include <MyTransportNRF24.h>
        //#include <MyHwATMega328.h>
        #include <MySigningAtsha204Soft.h>
        #include <MySigningAtsha204.h>
        
        #include <SPI.h>  
        #include <MyParserSerial.h>  
        #include <MySensor.h>  
        #include <stdarg.h>
        #include <PinChangeInt.h>
        #include "GatewayUtil.h"
        
        #define INCLUSION_MODE_TIME 1 // Number of minutes inclusion mode is enabled
        #define INCLUSION_MODE_PIN  3 // Digital pin used for inclusion mode button
        #define RADIO_ERROR_LED_PIN 4  // Error led pin
        #define RADIO_RX_LED_PIN    6  // Receive led pin
        #define RADIO_TX_LED_PIN    5  // the PCB, on board LED
        
        // NRFRF24L01 radio driver (set low transmit power by default) 
        MyTransportNRF24 transport(RF24_CE_PIN, RF24_CS_PIN, RF24_PA_LEVEL_GW);
        //MyTransportRFM69 transport;
        
        // Message signing driver (signer needed if MY_SIGNING_FEATURE is turned on in MyConfig.h)
        //MySigningNone signer;
        //MySigningAtsha204Soft signer;
        //MySigningAtsha204 signer;
        
        // Hardware profile 
        MyHwATMega328 hw;
        
        // Construct MySensors library (signer needed if MY_SIGNING_FEATURE is turned on in MyConfig.h)
        // To use LEDs blinking, uncomment WITH_LEDS_BLINKING in MyConfig.h
        #ifdef WITH_LEDS_BLINKING
        MySensor gw(transport, hw /*, signer*/, RADIO_RX_LED_PIN, RADIO_TX_LED_PIN, RADIO_ERROR_LED_PIN);
        #else
        MySensor gw(transport, hw /*, signer*/);
        #endif
        
        char inputString[MAX_RECEIVE_LENGTH] = "";    // A string to hold incoming commands from serial/ethernet interface
        int inputPos = 0;
        boolean commandComplete = false;  // whether the string is complete
        
        void parseAndSend(char *commandBuffer);
        
        void output(const char *fmt, ... ) {
           va_list args;
           va_start (args, fmt );
           vsnprintf_P(serialBuffer, MAX_SEND_LENGTH, fmt, args);
           va_end (args);
           Serial.print(serialBuffer);
        }
        
          
        void setup()  
        { 
          gw.begin(incomingMessage, 0, true, 0);
        
          setupGateway(INCLUSION_MODE_PIN, INCLUSION_MODE_TIME, output);
        
          // Add interrupt for inclusion button to pin
          PCintPort::attachInterrupt(pinInclusion, startInclusionInterrupt, RISING);
        
        
          // Send startup log message on serial
          serial(PSTR("0;0;%d;0;%d;Gateway startup complete.\n"),  C_INTERNAL, I_GATEWAY_READY);
        }
        
        void loop()  
        { 
          gw.process();
        
          checkButtonTriggeredInclusion();
          checkInclusionFinished();
          
          if (commandComplete) {
            // A command wass issued from serial interface
            // We will now try to send it to the actuator
            parseAndSend(gw, inputString);
            commandComplete = false;  
            inputPos = 0;
          }
        }
        
        
        /*
          SerialEvent occurs whenever a new data comes in the
         hardware serial RX.  This routine is run between each
         time loop() runs, so using delay inside loop can delay
         response.  Multiple bytes of data may be available.
         */
        void serialEvent() {
          while (Serial.available()) {
            // get the new byte:
            char inChar = (char)Serial.read(); 
            // if the incoming character is a newline, set a flag
            // so the main loop can do something about it:
            if (inputPos<MAX_RECEIVE_LENGTH-1 && !commandComplete) { 
              if (inChar == '\n') {
                inputString[inputPos] = 0;
                commandComplete = true;
              } else {
                // add it to the inputString:
                inputString[inputPos] = inChar;
                inputPos++;
              }
            } else {
               // Incoming message too long. Throw away 
                inputPos = 0;
            }
          }
        }
        

        Looks like the sketch for mysensors library 1.x.

        And this one is from github:

         /**
         * The MySensors Arduino library handles the wireless radio link and protocol
         * between your home built sensors/actuators and HA controller of choice.
         * The sensors forms a self healing radio network with optional repeaters. Each
         * repeater and gateway builds a routing tables in EEPROM which keeps track of the
         * network topology allowing messages to be routed to nodes.
         *
         * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
         * Copyright (C) 2013-2015 Sensnology AB
         * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
         *
         * Documentation: http://www.mysensors.org
         * Support Forum: http://forum.mysensors.org
         *
         * This program is free software; you can redistribute it and/or
         * modify it under the terms of the GNU General Public License
         * version 2 as published by the Free Software Foundation.
         *
         *******************************
         *
         * DESCRIPTION
         * The ArduinoGateway prints data received from sensors on the serial link. 
         * The gateway accepts input on seral which will be sent out on radio network.
         *
         * The GW code is designed for Arduino Nano 328p / 16MHz
         *
         * Wire connections (OPTIONAL):
         * - Inclusion button should be connected between digital pin 3 and GND  
         * - RX/TX/ERR leds need to be connected between +5V (anode) and digital pin 6/5/4 with resistor 270-330R in a series
         *
         * LEDs (OPTIONAL):
         * - To use the feature, uncomment MY_LEDS_BLINKING_FEATURE in MyConfig.h
         * - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
         * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
         * - ERR (red) - fast blink on error during transmission error or recieve crc error 
         * 
         */
        
        // Enable debug prints to serial monitor
        #define MY_DEBUG 
        
        
        // Enable and select radio type attached
        #define MY_RADIO_NRF24
        //#define MY_RADIO_RFM69
        
        // Set LOW transmit power level as default, if you have an amplified NRF-module and
        // power your radio separately with a good regulator you can turn up PA level. 
        #define MY_RF24_PA_LEVEL RF24_PA_LOW
        
        // Enable serial gateway
        #define MY_GATEWAY_SERIAL
        
        // Define a lower baud rate for Arduino's running on 8 MHz (Arduino Pro Mini 3.3V & SenseBender)
        #if F_CPU == 8000000L
        #define MY_BAUD_RATE 38400
        #endif
        
        // Flash leds on rx/tx/err
        #define MY_LEDS_BLINKING_FEATURE
        // Set blinking period
        #define MY_DEFAULT_LED_BLINK_PERIOD 300
        
        // Inverses the behavior of leds
        //#define MY_WITH_LEDS_BLINKING_INVERSE
        
        // Enable inclusion mode
        #define MY_INCLUSION_MODE_FEATURE
        // Enable Inclusion mode button on gateway
        #define MY_INCLUSION_BUTTON_FEATURE
        
        // Inverses behavior of inclusion button (if using external pullup)
        //#define MY_INCLUSION_BUTTON_EXTERNAL_PULLUP
        
        // Set inclusion mode duration (in seconds)
        #define MY_INCLUSION_MODE_DURATION 60 
        // Digital pin used for inclusion mode button
        #define MY_INCLUSION_MODE_BUTTON_PIN  3 
        
        // Uncomment to override default HW configurations
        //#define MY_DEFAULT_ERR_LED_PIN 4  // Error led pin
        //#define MY_DEFAULT_RX_LED_PIN  6  // Receive led pin
        //#define MY_DEFAULT_TX_LED_PIN  5  // the PCB, on board LED
        
        #include <SPI.h>
        #include <MySensors.h>  
        
        void setup() { 
          // Setup locally attached sensors
        }
        
        void presentation() {
         // Present locally attached sensors 
        }
        
        void loop() { 
          // Send locally attached sensor data here 
        }
        

        To me ot looks like this is meant for mysensors.org 2.0, which looks incomplete. Think, they have to be merged ?

        1 Reply Last reply
        0
        • scalzS Offline
          scalzS Offline
          scalz
          Hardware Contributor
          wrote on last edited by scalz
          #10

          I know the difference between the two versions. But, as I said, no need to merge.
          Please note:

          • The examples you found on mysensors.org are, i guess, not all updated yet. but mysensors team is working hard, it's lot of work ;)

          • The example from github are compiled for mysensors 2. You think this is incomplete but that's wrong. The stuff you think missing is simply hidden. For easing noob experience.

          • So only 1.x older user sketch need to be updated to 2.0. If you are starting with mysensors, i don't think you have older sketch to convert, isn't it?

          • if not already done., use https://www.mysensors.org/about/arduino#installing-the-sensor-libraries to install the latest lib from Arduino software

          • Then no need to go to mysensors or git to get the latest examples. It's available in Arduino software. File Menu\Examples\Mysensors

          For discovering Arduino software, or arduino in general, you can have a look at
          https://www.arduino.cc/en/Guide/HomePage
          https://www.arduino.cc/en/Tutorial/HomePage
          https://www.arduino.cc/en/Reference/HomePage

          1 Reply Last reply
          1
          • blebbensB Offline
            blebbensB Offline
            blebbens
            wrote on last edited by
            #11

            Oh, just realized domoticz setup uses a serial gateway baud rate of 115.200, the sketches are using 38.400. Perhaps, this is the big mistake.

            1 Reply Last reply
            0
            • blebbensB Offline
              blebbensB Offline
              blebbens
              wrote on last edited by
              #12

              It is very frustrating...

              Uploaded the serial gateway sketch from examples ro my serial gateway (not serialgateway485). I just modified the baud rate to 115200. domoticz recognizes the gateway as version 2.0.

              I also uploaded the motion sketch from examples to a new arduino nano and modified nothing.

              Domoticz now is able to see the node, but it is named unknown. The child ID 255 (that must be wrong) is named S_ARDUINO_REPEATER_NODE - that is wrong. It has to be S_MOTION. Despite I was using the newest sketch, domoticz calls it version 1.0.

              Could someone tell me the solution, please?

              1 Reply Last reply
              0
              • Tore André RosanderT Offline
                Tore André RosanderT Offline
                Tore André Rosander
                wrote on last edited by
                #13

                @blebbens

                The version 1.0 comes from this piece of code and has nothing to do with the mysensors version.

                void presentation()  {
                  // Send the sketch version information to the gateway and Controller
                  sendSketchInfo("Motion Sensor", "1.0");
                

                It would be nice to see the serial output from your node when you connect it to your gateway.
                Also try to comment out the sleep function so there is less code that could cause a problem.

                1 Reply Last reply
                0
                • blebbensB Offline
                  blebbensB Offline
                  blebbens
                  wrote on last edited by blebbens
                  #14

                  This is the code for my serial gateway to domoticz (arduino nano, NRF24L01+PA+ANTENNA) I am actually using...

                   * The MySensors Arduino library handles the wireless radio link and protocol
                   * between your home built sensors/actuators and HA controller of choice.
                   * The sensors forms a self healing radio network with optional repeaters. Each
                   * repeater and gateway builds a routing tables in EEPROM which keeps track of the
                   * network topology allowing messages to be routed to nodes.
                   *
                   * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
                   * Copyright (C) 2013-2015 Sensnology AB
                   * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
                   *
                   * Documentation: http://www.mysensors.org
                   * Support Forum: http://forum.mysensors.org
                   *
                   * This program is free software; you can redistribute it and/or
                   * modify it under the terms of the GNU General Public License
                   * version 2 as published by the Free Software Foundation.
                   *
                   *******************************
                   *
                   * DESCRIPTION
                   * The ArduinoGateway prints data received from sensors on the serial link. 
                   * The gateway accepts input on seral which will be sent out on radio network.
                   *
                   * The GW code is designed for Arduino Nano 328p / 16MHz
                   *
                   * Wire connections (OPTIONAL):
                   * - Inclusion button should be connected between digital pin 3 and GND  
                   * - RX/TX/ERR leds need to be connected between +5V (anode) and digital pin 6/5/4 with resistor 270-330R in a series
                   *
                   * LEDs (OPTIONAL):
                   * - To use the feature, uncomment MY_LEDS_BLINKING_FEATURE in MyConfig.h
                   * - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
                   * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
                   * - ERR (red) - fast blink on error during transmission error or recieve crc error 
                   * 
                   */
                  
                  // Enable debug prints to serial monitor
                  #define MY_DEBUG 
                  
                  
                  // Enable and select radio type attached
                  #define MY_RADIO_NRF24
                  //#define MY_RADIO_RFM69
                  
                  // Set LOW transmit power level as default, if you have an amplified NRF-module and
                  // power your radio separately with a good regulator you can turn up PA level. 
                  #define MY_RF24_PA_LEVEL RF24_PA_LOW
                  
                  // Enable serial gateway
                  #define MY_GATEWAY_SERIAL
                  
                  // Define a lower baud rate for Arduino's running on 8 MHz (Arduino Pro Mini 3.3V & SenseBender)
                  #if F_CPU == 8000000L
                  #define MY_BAUD_RATE 115200
                  #endif
                  
                  // Flash leds on rx/tx/err
                  #define MY_LEDS_BLINKING_FEATURE
                  // Set blinking period
                  #define MY_DEFAULT_LED_BLINK_PERIOD 300
                  
                  // Inverses the behavior of leds
                  //#define MY_WITH_LEDS_BLINKING_INVERSE
                  
                  // Enable inclusion mode
                  #define MY_INCLUSION_MODE_FEATURE
                  // Enable Inclusion mode button on gateway
                  #define MY_INCLUSION_BUTTON_FEATURE
                  
                  // Inverses behavior of inclusion button (if using external pullup)
                  //#define MY_INCLUSION_BUTTON_EXTERNAL_PULLUP
                  
                  // Set inclusion mode duration (in seconds)
                  #define MY_INCLUSION_MODE_DURATION 60 
                  // Digital pin used for inclusion mode button
                  #define MY_INCLUSION_MODE_BUTTON_PIN  3 
                  
                  // Uncomment to override default HW configurations
                  //#define MY_DEFAULT_ERR_LED_PIN 4  // Error led pin
                  //#define MY_DEFAULT_RX_LED_PIN  6  // Receive led pin
                  //#define MY_DEFAULT_TX_LED_PIN  5  // the PCB, on board LED
                  
                  #include <SPI.h>
                  #include <MySensors.h>  
                  
                  void setup() { 
                    // Setup locally attached sensors
                  }
                  
                  void presentation() {
                   // Present locally attached sensors 
                  }
                  
                  void loop() { 
                    // Send locally attached sensor data here 
                  }
                  

                  And this sketch is for the motion sensor (arduino nano, HC-SR501 and NRF24L01+PA+ANTENNA)...

                   * The MySensors Arduino library handles the wireless radio link and protocol
                   * between your home built sensors/actuators and HA controller of choice.
                   * The sensors forms a self healing radio network with optional repeaters. Each
                   * repeater and gateway builds a routing tables in EEPROM which keeps track of the
                   * network topology allowing messages to be routed to nodes.
                   *
                   * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
                   * Copyright (C) 2013-2015 Sensnology AB
                   * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
                   *
                   * Documentation: http://www.mysensors.org
                   * Support Forum: http://forum.mysensors.org
                   *
                   * This program is free software; you can redistribute it and/or
                   * modify it under the terms of the GNU General Public License
                   * version 2 as published by the Free Software Foundation.
                   *
                   *******************************
                   *
                   * REVISION HISTORY
                   * Version 1.0 - Henrik Ekblad
                   * 
                   * DESCRIPTION
                   * Motion Sensor example using HC-SR501 
                   * http://www.mysensors.org/build/motion
                   *
                   */
                  
                  // Enable debug prints
                  // #define MY_DEBUG
                  
                  // Enable and select radio type attached
                  #define MY_RADIO_NRF24
                  //#define MY_RADIO_RFM69
                  
                  #include <SPI.h>
                  #include <MySensors.h>
                  
                  unsigned long SLEEP_TIME = 120000; // Sleep time between reports (in milliseconds)
                  #define DIGITAL_INPUT_SENSOR 3   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
                  #define CHILD_ID 1   // Id of the sensor child
                  
                  // Initialize motion message
                  MyMessage msg(CHILD_ID, V_TRIPPED);
                  
                  void setup()  
                  {  
                    pinMode(DIGITAL_INPUT_SENSOR, INPUT);      // sets the motion sensor digital pin as input
                  }
                  
                  void presentation()  {
                    // Send the sketch version information to the gateway and Controller
                    sendSketchInfo("Motion Sensor", "1.0");
                  
                    // Register all sensors to gw (they will be created as child devices)
                    present(CHILD_ID, S_MOTION);
                  }
                  
                  void loop()     
                  {     
                    // Read digital motion value
                    boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH; 
                          
                    Serial.println(tripped);
                    send(msg.set(tripped?"1":"0"));  // Send tripped value to gw 
                  
                    // Sleep until interrupt comes in on motion sensor. Send update every two minute.
                    sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME);
                  }
                  

                  Domoticz still recognizes the motion sensor as "unknown" and S_ARDUINO_REPEATER.

                  And, the debug seriell monitor tells me:

                  Starting sensor (RNNNA-, 2.0.0)
                  TSM:INIT
                  TSM:RADIO:OK
                  TSM:FPAR
                  TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                  TSM:FPAR
                  TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                  TSM:FPAR
                  TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                  TSM:FPAR
                  TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                  !TSM:FPAR:FAIL
                  !TSM:FAILURE
                  TSM:PDT
                  

                  Hope, someone can help - it is very frustrating.

                  tekkaT 1 Reply Last reply
                  0
                  • blebbensB blebbens

                    This is the code for my serial gateway to domoticz (arduino nano, NRF24L01+PA+ANTENNA) I am actually using...

                     * The MySensors Arduino library handles the wireless radio link and protocol
                     * between your home built sensors/actuators and HA controller of choice.
                     * The sensors forms a self healing radio network with optional repeaters. Each
                     * repeater and gateway builds a routing tables in EEPROM which keeps track of the
                     * network topology allowing messages to be routed to nodes.
                     *
                     * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
                     * Copyright (C) 2013-2015 Sensnology AB
                     * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
                     *
                     * Documentation: http://www.mysensors.org
                     * Support Forum: http://forum.mysensors.org
                     *
                     * This program is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License
                     * version 2 as published by the Free Software Foundation.
                     *
                     *******************************
                     *
                     * DESCRIPTION
                     * The ArduinoGateway prints data received from sensors on the serial link. 
                     * The gateway accepts input on seral which will be sent out on radio network.
                     *
                     * The GW code is designed for Arduino Nano 328p / 16MHz
                     *
                     * Wire connections (OPTIONAL):
                     * - Inclusion button should be connected between digital pin 3 and GND  
                     * - RX/TX/ERR leds need to be connected between +5V (anode) and digital pin 6/5/4 with resistor 270-330R in a series
                     *
                     * LEDs (OPTIONAL):
                     * - To use the feature, uncomment MY_LEDS_BLINKING_FEATURE in MyConfig.h
                     * - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
                     * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
                     * - ERR (red) - fast blink on error during transmission error or recieve crc error 
                     * 
                     */
                    
                    // Enable debug prints to serial monitor
                    #define MY_DEBUG 
                    
                    
                    // Enable and select radio type attached
                    #define MY_RADIO_NRF24
                    //#define MY_RADIO_RFM69
                    
                    // Set LOW transmit power level as default, if you have an amplified NRF-module and
                    // power your radio separately with a good regulator you can turn up PA level. 
                    #define MY_RF24_PA_LEVEL RF24_PA_LOW
                    
                    // Enable serial gateway
                    #define MY_GATEWAY_SERIAL
                    
                    // Define a lower baud rate for Arduino's running on 8 MHz (Arduino Pro Mini 3.3V & SenseBender)
                    #if F_CPU == 8000000L
                    #define MY_BAUD_RATE 115200
                    #endif
                    
                    // Flash leds on rx/tx/err
                    #define MY_LEDS_BLINKING_FEATURE
                    // Set blinking period
                    #define MY_DEFAULT_LED_BLINK_PERIOD 300
                    
                    // Inverses the behavior of leds
                    //#define MY_WITH_LEDS_BLINKING_INVERSE
                    
                    // Enable inclusion mode
                    #define MY_INCLUSION_MODE_FEATURE
                    // Enable Inclusion mode button on gateway
                    #define MY_INCLUSION_BUTTON_FEATURE
                    
                    // Inverses behavior of inclusion button (if using external pullup)
                    //#define MY_INCLUSION_BUTTON_EXTERNAL_PULLUP
                    
                    // Set inclusion mode duration (in seconds)
                    #define MY_INCLUSION_MODE_DURATION 60 
                    // Digital pin used for inclusion mode button
                    #define MY_INCLUSION_MODE_BUTTON_PIN  3 
                    
                    // Uncomment to override default HW configurations
                    //#define MY_DEFAULT_ERR_LED_PIN 4  // Error led pin
                    //#define MY_DEFAULT_RX_LED_PIN  6  // Receive led pin
                    //#define MY_DEFAULT_TX_LED_PIN  5  // the PCB, on board LED
                    
                    #include <SPI.h>
                    #include <MySensors.h>  
                    
                    void setup() { 
                      // Setup locally attached sensors
                    }
                    
                    void presentation() {
                     // Present locally attached sensors 
                    }
                    
                    void loop() { 
                      // Send locally attached sensor data here 
                    }
                    

                    And this sketch is for the motion sensor (arduino nano, HC-SR501 and NRF24L01+PA+ANTENNA)...

                     * The MySensors Arduino library handles the wireless radio link and protocol
                     * between your home built sensors/actuators and HA controller of choice.
                     * The sensors forms a self healing radio network with optional repeaters. Each
                     * repeater and gateway builds a routing tables in EEPROM which keeps track of the
                     * network topology allowing messages to be routed to nodes.
                     *
                     * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
                     * Copyright (C) 2013-2015 Sensnology AB
                     * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
                     *
                     * Documentation: http://www.mysensors.org
                     * Support Forum: http://forum.mysensors.org
                     *
                     * This program is free software; you can redistribute it and/or
                     * modify it under the terms of the GNU General Public License
                     * version 2 as published by the Free Software Foundation.
                     *
                     *******************************
                     *
                     * REVISION HISTORY
                     * Version 1.0 - Henrik Ekblad
                     * 
                     * DESCRIPTION
                     * Motion Sensor example using HC-SR501 
                     * http://www.mysensors.org/build/motion
                     *
                     */
                    
                    // Enable debug prints
                    // #define MY_DEBUG
                    
                    // Enable and select radio type attached
                    #define MY_RADIO_NRF24
                    //#define MY_RADIO_RFM69
                    
                    #include <SPI.h>
                    #include <MySensors.h>
                    
                    unsigned long SLEEP_TIME = 120000; // Sleep time between reports (in milliseconds)
                    #define DIGITAL_INPUT_SENSOR 3   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
                    #define CHILD_ID 1   // Id of the sensor child
                    
                    // Initialize motion message
                    MyMessage msg(CHILD_ID, V_TRIPPED);
                    
                    void setup()  
                    {  
                      pinMode(DIGITAL_INPUT_SENSOR, INPUT);      // sets the motion sensor digital pin as input
                    }
                    
                    void presentation()  {
                      // Send the sketch version information to the gateway and Controller
                      sendSketchInfo("Motion Sensor", "1.0");
                    
                      // Register all sensors to gw (they will be created as child devices)
                      present(CHILD_ID, S_MOTION);
                    }
                    
                    void loop()     
                    {     
                      // Read digital motion value
                      boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH; 
                            
                      Serial.println(tripped);
                      send(msg.set(tripped?"1":"0"));  // Send tripped value to gw 
                    
                      // Sleep until interrupt comes in on motion sensor. Send update every two minute.
                      sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME);
                    }
                    

                    Domoticz still recognizes the motion sensor as "unknown" and S_ARDUINO_REPEATER.

                    And, the debug seriell monitor tells me:

                    Starting sensor (RNNNA-, 2.0.0)
                    TSM:INIT
                    TSM:RADIO:OK
                    TSM:FPAR
                    TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                    TSM:FPAR
                    TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                    TSM:FPAR
                    TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                    TSM:FPAR
                    TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                    !TSM:FPAR:FAIL
                    !TSM:FAILURE
                    TSM:PDT
                    

                    Hope, someone can help - it is very frustrating.

                    tekkaT Offline
                    tekkaT Offline
                    tekka
                    Admin
                    wrote on last edited by
                    #15

                    @blebbens Please also post the debug log of your GW while the node is booting.

                    1 Reply Last reply
                    0
                    • blebbensB Offline
                      blebbensB Offline
                      blebbens
                      wrote on last edited by
                      #16

                      Okay, could you please tell me how to do that.
                      At the moment I do not know where to find it.

                      AWIA 1 Reply Last reply
                      0
                      • blebbensB blebbens

                        Okay, could you please tell me how to do that.
                        At the moment I do not know where to find it.

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

                        @blebbens connect the gateway to your computer usb port and look at the serial to see the debug log.

                        In addition where does domoticz show the "unknown" sensor? In the hardware log there is always one with id 255 for the node.

                        From you log I read a lot of "failed" messages. This indicates transmission errors which could result from your amplified radio's. These a more error prone than the non amplified ones. For testing you better use the non amplified.

                        1 Reply Last reply
                        0
                        • blebbensB Offline
                          blebbensB Offline
                          blebbens
                          wrote on last edited by
                          #18

                          0_1468656309681_IMG_1021.jpg

                          This is what domoticz looks like...

                          Connecting the serial gateway to my computer means, I can not connect it to domoticz ?
                          For debugging I have to enable #define MY_DEBUG ?
                          Or, is there a way to read the log file on the gateway ?

                          AWIA 1 Reply Last reply
                          0
                          • scalzS Offline
                            scalzS Offline
                            scalz
                            Hardware Contributor
                            wrote on last edited by scalz
                            #19

                            I don't know about domoticz but perhaps you can get the logs. Or use MYSController.

                            Otherwise, when you need it, you can debug gw and node on your computer. Just connect both devices to your computer. Then of course this is not connected to domoticz but for debugging i often do this, it's useful.

                            So:

                            • connect gw+node to your computer
                            • then use Serial monitor from arduino if you want, to monitor one device. choose right baudrate and comport of course
                            • and for other device, use another serial monitor like putty etc..
                              or a sniffer if you really want to keep it connected to your controller. But for noobs, i would advice to simply use two serial monitor when you need to debug, easier..
                            1 Reply Last reply
                            0
                            • blebbensB blebbens

                              0_1468656309681_IMG_1021.jpg

                              This is what domoticz looks like...

                              Connecting the serial gateway to my computer means, I can not connect it to domoticz ?
                              For debugging I have to enable #define MY_DEBUG ?
                              Or, is there a way to read the log file on the gateway ?

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

                              @blebbens your domoticz screen looks fine. No errors but also no sensors reported. Only the node is known.
                              As @scalz mentioned, just connect the node and gateway to your computer watch what happens on the serial monitor (arduino idea or whatever you are using) the node does not have to be connected to domoticz for initial debugging.

                              1 Reply Last reply
                              0
                              • blebbensB Offline
                                blebbensB Offline
                                blebbens
                                wrote on last edited by blebbens
                                #21

                                Okay, I have...

                                The motion sensor connected to the Arduino IDE. The output of the serial monitor (at this time the gateway was connected to the controller):

                                Starting sensor (RNNNA-, 2.0.0)
                                TSM:INIT
                                TSM:RADIO:OK
                                TSM:FPAR
                                TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                TSM:FPAR
                                TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                TSM:FPAR
                                TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                TSM:FPAR
                                TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                !TSM:FPAR:FAIL
                                !TSM:FAILURE
                                TSM:PDT
                                TSM:INIT
                                TSM:RADIO:OK
                                TSM:FPAR
                                TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                TSM:FPAR
                                TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                TSM:FPAR
                                TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                TSM:FPAR
                                TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                

                                An at this point I had the gateway connected to the arduino IDE (the motion sensor was not connected to the computer):

                                0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
                                0;255;3;0;9;TSM:INIT
                                0;255;3;0;9;TSM:RADIO:OK
                                0;255;3;0;9;TSM:GW MODE
                                0;255;3;0;9;TSM:READY
                                0;255;3;0;14;Gateway startup complete.
                                0;255;0;0;18;2.0.0
                                0;255;3;0;9;No registration required
                                0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
                                0;255;3;0;9;TSP:SANCHK:OK
                                0;255;3;0;9;TSP:SANCHK:OK
                                0;255;3;0;9;TSP:SANCHK:OK
                                0;255;3;0;9;TSP:SANCHK:OK
                                0;255;3;0;9;TSP:SANCHK:OK
                                0;255;3;0;9;TSP:SANCHK:OK
                                0;255;3;0;9;TSP:SANCHK:OK
                                

                                I never had both, gateway and sensor, connected to the monitor at the same time. I am afraid, I didn´t understand to use MYScontroller. Did not find the com-port settings etc. It always tries to connect to gateway 192.168.0.x, my network is not set up to this IP.

                                Does the output help ?

                                1 Reply Last reply
                                0
                                • scalzS Offline
                                  scalzS Offline
                                  scalz
                                  Hardware Contributor
                                  wrote on last edited by scalz
                                  #22

                                  nope, output can't help as it's only one device..

                                  I think you're talking about MYSController config when you say 192.168.0.x, isn't it? or i don't understand lol

                                  To know your serialports in use:

                                  • with Win for instance, go to something like Control Panel → Device Manager → COM & LPT ports
                                  • connect your devices to usb, and disconnect one by one. So now you know which one use which port.

                                  About MYSController: you will need to setup the serial port for GW.

                                  • With GW connected to usb, click Settings button and then click Gateway tab.
                                  • Check Serial GW and choose port&bauds.
                                  • Now, still in MYSController, you can click Connect button. There are tabs in MYSController for different debug levels. Look a bit at features.
                                  • It should connect, if it does not, un/replug your gw, and reclick Connect.

                                  Then you'll have the logs for your GW if it is enabled in sketch of course.
                                  As said above, if you would like, you could use another software (serial monitor) in place of MYSController. but not required here.

                                  Now, for the other device (node), you can monitor it in Arduino software by setting well port&bauds. you know it now ;)

                                  Could you try in this order, please :

                                  • plug GW only. And connect with MYSController
                                  • then plug node, and open your Arduino Serial monitor.

                                  does it work? if no, logs, thx ;)

                                  1 Reply Last reply
                                  0
                                  • blebbensB Offline
                                    blebbensB Offline
                                    blebbens
                                    wrote on last edited by blebbens
                                    #23

                                    Okay, done it... both connected, gw on MYScontroller, motion sensor monitored using IDE...

                                    Sensor output:

                                    TSM:INIT
                                    TSM:RADIO:OK
                                    TSM:FPAR
                                    TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                    TSM:FPAR
                                    TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                    TSM:FPAR
                                    TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                    TSM:FPAR
                                    TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                    !TSM:FPAR:FAIL
                                    !TSM:FAILURE
                                    TSM:PDT
                                    

                                    And gateway output:

                                    MYScontroller debug:

                                    16.07.2016 19:43:42	INFO	Flushing FIFO
                                    16.07.2016 19:43:42	INFO	Connected to COM7
                                    16.07.2016 19:43:44	RX	0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
                                    16.07.2016 19:43:44	CHILD	New child discovered, node id=0, child id=internal
                                    16.07.2016 19:43:44	RX	0;255;3;0;9;TSM:INIT
                                    16.07.2016 19:43:44	RX	0;255;3;0;9;TSM:RADIO:OK
                                    16.07.2016 19:43:44	RX	0;255;3;0;9;TSM:GW MODE
                                    16.07.2016 19:43:44	RX	0;255;3;0;9;TSM:READY
                                    16.07.2016 19:43:44	RX	0;255;3;0;14;Gateway startup complete.
                                    16.07.2016 19:43:44	RX	0;255;0;0;18;2.0.0
                                    16.07.2016 19:43:44	DEBUG	Update child id=255, type=S_ARDUINO_REPEATER_NODE
                                    16.07.2016 19:43:44	RX	0;255;3;0;9;No registration required
                                    16.07.2016 19:43:44	RX	0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
                                    16.07.2016 19:44:44	RX	0;255;3;0;9;TSP:SANCHK:OK
                                    16.07.2016 19:45:44	RX	0;255;3;0;9;TSP:SANCHK:OK
                                    

                                    MySensors debug:

                                    8	16.07.2016 19:43:44	TX	-1	-1		-1	-1	NA (-1)	N/A	NA (-1)	-1			required
                                    

                                    Nodes debug: this message was shown before I connected the sensor to power

                                    7	16.07.2016 19:43:44	0 - Gateway	S_ARDUINO_REPEATER_NODE	S_ARDUINO_REPEATER_NODE	2.0.0	
                                    

                                    And messages tab:

                                    6	16.07.2016 19:43:44	RX	0 - Gateway	INTERNAL	C_INTERNAL	NO	I_GATEWAY_READY	Gateway startup complete.
                                    7	16.07.2016 19:43:44	RX	0 - Gateway	INTERNAL	C_PRESENTATION	NO	S_ARDUINO_REPEATER_NODE	2.0.0
                                    

                                    Okay, hope, this helps now.

                                    That´s strange, because there is no repeater... just a motion sensor sketch.

                                    1 Reply Last reply
                                    0
                                    • blebbensB Offline
                                      blebbensB Offline
                                      blebbens
                                      wrote on last edited by
                                      #24

                                      No one ? It is so frustrating...

                                      Read some more threads like this (https://forum.mysensors.org/topic/4280/simple-serial-gateway-and-sensor-does-not-work)... seems to be a common problem of MySensors 2.0 ?

                                      tekkaT 1 Reply Last reply
                                      0
                                      • SGiS Offline
                                        SGiS Offline
                                        SGi
                                        wrote on last edited by
                                        #25

                                        Try this: https://forum.mysensors.org/topic/4316/version-2-0-isn-t-working

                                        1 Reply Last reply
                                        0
                                        • blebbensB blebbens

                                          No one ? It is so frustrating...

                                          Read some more threads like this (https://forum.mysensors.org/topic/4280/simple-serial-gateway-and-sensor-does-not-work)... seems to be a common problem of MySensors 2.0 ?

                                          tekkaT Offline
                                          tekkaT Offline
                                          tekka
                                          Admin
                                          wrote on last edited by tekka
                                          #26

                                          @blebbens Your logs look ok, but your radios don't seem to talk to each other - this could possibly hint to radio interference or HW issues. Try:
                                          (1) reduce PA power by setting:

                                          #define MY_RF24_PA_LEVEL RF24_PA_LOW
                                          

                                          and recompile and reflash GW and node sketch.

                                          (2) move node and GW further away from each other
                                          (3) Switch off WiFi AP

                                          Please report back on any of these solutions with log from GW and node.

                                          Thanks.

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


                                          11

                                          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