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. [Solved] Function repeater not working

[Solved] Function repeater not working

Scheduled Pinned Locked Moved Troubleshooting
16 Posts 3 Posters 4.0k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Daemon D

    @Daemon-D said:

    // Enable repeater functionality for this node
    #define MY_REPEATER_FEATURE
    

    that is enough to enable the repeater?

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

    @Daemon-D Please post the full repeater sketch

    D 1 Reply Last reply
    0
    • tekkaT tekka

      @Daemon-D Please post the full repeater sketch

      D Offline
      D Offline
      Daemon D
      wrote on last edited by
      #5

      @tekka

      #include "CyberLib.h" //Библиотека от Cyber-Place.ru
      #include <SPI.h>
      #include <Bounce2.h>
      // Enable and select radio type attached
      #define MY_RADIO_NRF24
      // Enable debug prints to serial monitor
      #define MY_DEBUG 
      // Enable repeater functionality for this node
      #define MY_REPEATER_FEATURE
      
      #define ConsoleComm 0
      #define TIME_READ_INPUT_SEPIC_SIGN 1000 //время снятия показаний с входов
      #define TIME_SEND_VERA_SEPTIC 66000 //время для отправки данных септика
      #define TIME_SEND_VERA_SIGN 11000 //время для отправки данных сигнализации
      #define TIME_SEND_VERA_220 53100 //время для отправки данных 220
      #define RELAY_SIGN  6  // pin relay сигнализации
      #define DIGITAL_INPUT_SEPTIC 7   // The digital input D7 септик
      #define DIGITAL_INPUT_SIGN 8   // The digital input D8 сигнализация
      #define INTERRUPT_220V 3   // пин датчика наличия 220
      #define CHILD_VERA_SEPTIC 1   // Id Vera вирутального сенсора ошибки септика
      #define CHILD_VERA_SIGN 2   // Id  Vera вирутального сенсора срабатывания сигнализации 
      #define CHILD_VERA_220 3 // ID Vera вирутального сенсора наличия 220
      #define CHILD_VERA_RELAY_SIGN 4 // Id Vera реле сигнализации 
      #define CHILD_VERA_ROLLING 5 // Id Vera  рольставни
      #define RELAY_ON 1  // GPIO value to write to turn on attached relay
      #define RELAY_OFF 0 // GPIO value to write to turn off attached relay
      
      //MySensor gw; // MySensor
      Bounce debouncerInputSeptic = Bounce();
      Bounce debouncerInputSign = Bounce();
      
      MyMessage errorMsgSeptic(CHILD_VERA_SEPTIC, V_TRIPPED); // виртуальный сенсор ошибки септика
      MyMessage errorMsgSign(CHILD_VERA_SIGN, V_TRIPPED); // виртуальный сенсор сигнализации
      MyMessage errorMsg220(CHILD_VERA_220, V_TRIPPED); // виртуальный сенсор 220
      
      int powerlostint; // храним нарастающим итогом переходы 0 по 220
      bool powerlost, valueSeptic, valueSign;
      unsigned long currentTime;
      unsigned long loopTimeRead, loopTimeSeptic, loopTimeSign, loopTime220;
      Metro timer_read = Metro(TIME_READ_INPUT_SEPIC_SIGN); // храним время опросов датчиков входов
      Metro time_send_septic = Metro(TIME_SEND_VERA_SEPTIC); // храним время отправки данных на Vera о септике
      Metro time_send_sign = Metro(TIME_SEND_VERA_SIGN); // храним время отправки данных на Vera о сигнализации
      Metro time_send_220 = Metro(TIME_SEND_VERA_220); // храним время отправки данных на Vera о 220
      
      void presentation()  {
      
       // Initialize library and add callback for incoming messages
        //  gw.begin(incomingMessage, AUTO, true); //repeater node
      
          // Send the sketch version information to the gateway and Controller
          sendSketchInfo("Alarm Sensor", "1.0");
          present(CHILD_VERA_SEPTIC, S_MOTION); //alarm D7
          present(CHILD_VERA_SIGN, S_MOTION); //alarm D8
          present(CHILD_VERA_220, S_MOTION); //alarm 220
          // Register all sensors to gw (they will be created as child devices)
          present(CHILD_VERA_RELAY_SIGN, S_LIGHT); //relay D6
          present(CHILD_VERA_ROLLING, S_LIGHT); // вирутальное реле для рольставень
      
      }
      
      //********************обработчики прерываний*******************************
      void  detect_up() { // обработка внешнего прерывания. Сработает по переднему фронту
      
          powerlostint++; // если 50 раз в секунду получаем прерывание, увеличиваем powerlostint
      }
      
      
      //****************************SETUP*********************************************
      
      
      void setup() {
      
          UART_Init(115200);//инициализация последовательного порта
      #if ConsoleComm
          Serial << "Setup: " <<  endl;
      #endif
      
        
          // Then set relay pins in output mode
          pinMode(RELAY_SIGN, OUTPUT);
          // Set relay to last known state (using eeprom storage)
          D4_Out; //Настраиваем пин D4 на выход для управления рольставнями
          pinMode(DIGITAL_INPUT_SEPTIC, INPUT);  // определяем DIGITAL_INPUT_SEPTIC как вход
          digitalWrite(DIGITAL_INPUT_SEPTIC, HIGH);     // подключить подтягивающий резистор
          pinMode(DIGITAL_INPUT_SIGN, INPUT);  // определяем IGITAL_INPUT_SENSOR_D7 как вход
          digitalWrite(DIGITAL_INPUT_SIGN, HIGH);     // подключить подтягивающий резистор
      
          // After setting up the button, setup debouncer
          debouncerInputSeptic.attach(DIGITAL_INPUT_SEPTIC);
          debouncerInputSeptic.interval(5);
          debouncerInputSign.attach(DIGITAL_INPUT_SIGN);
          debouncerInputSign.interval(5);
      
      }
      
      //**************************** LOOP ********************************************************
      
      void loop() {
      
         // gw.process(); // By calling process() you route messages in the background
          debouncerInputSeptic.update();  // обновляем статус боунсера септика
          debouncerInputSign.update(); // обновляем статус боунсера сигнализации
      
          if (timer_read.check() == 1) ReadD(); // через TIME_READ_INPUT_SEPIC_SIGN запускаем ReadD()
          if (time_send_septic.check() == 1) SendVeraSeptic(); // через TIME_SEND_VERA_SEPTIC запускаем SendVeraSeptic()
          if (time_send_sign.check() == 1) SendVeraSign(); // через TIME_SEND_VERA_SIGN запускаем SendVeraSign()
          if (time_send_220.check() == 1) SendVera220(); // через TIME_SEND_VERA_220 запускаем SendVera220()
      
      
      }
      
      //************************ END LOOP **********************************************************
      
      //************************** ReadD() *********************************************************
      
      // считываем данные со входов
      
      void ReadD() {
      
          // Get the update value
          valueSeptic = debouncerInputSeptic.read();
      
          // Get the update value
          valueSign = debouncerInputSign.read();
      
          //valueSign = digitalRead(DIGITAL_INPUT_SIGN);
      #if ConsoleComm
          Serial << "valueSign: " << valueSign << endl;
          Serial << "valueSeptic: " << valueSeptic << endl;
          Serial << "powerlost: " << powerlost << endl;
      #endif
      
      }
      
      //******************************** END ReadD() ****************************************************
      
      //********************************* SendVeraSeptic() ***********************************************
      
      // отсылаем данные на Vera о септике
      void SendVeraSeptic() {
      #if ConsoleComm
          Serial << "SendVeraSeptic(): " << valueSeptic << endl;
      #endif
          send(errorMsgSeptic.set(valueSeptic ? "1" : "0")); // Send tripped value to gw
      
      }
      
      //********************************* END SendVeraSeptic() ***********************************************
      
      //********************************* SendVeraSign() ***********************************************
      
      // отсылаем данные на Vera о сигнализации
      void SendVeraSign() {
      #if ConsoleComm
          Serial << "SendVeraSign(): " << valueSign << endl;
      #endif
          send(errorMsgSign.set(valueSign ? "1" : "0")); // Send tripped value to gw
      
      }
      
      //********************************* END SendVeraSign() ***********************************************
      
      //********************************* SendVera220() ***********************************************
      
      // отсылаем данные на Vera о 220
      void SendVera220() {
      
      #if ConsoleComm
          Serial << "220: " << powerlostint << endl;
      #endif
          attachInterrupt(digitalPinToInterrupt(INTERRUPT_220V),detect_up, LOW); // включаем прерывание чтобы наловить фронты 220
          delay(2); // нужен, т.к. бывает не успевает собрать данные
          if (powerlostint > 0) powerlost = false; // если получили кучу прерываний, значит 220 есть
          else powerlost=true;	// если нет прерываний, нет и 220
          detachInterrupt(digitalPinToInterrupt(INTERRUPT_220V)); //временно выключаем прерывание
          send(errorMsg220.set(powerlost ? "1" : "0")); // Send tripped value to gw
          powerlostint=0; // обнуляем счётчик прерываний
      }
      
      //********************************* END SendVera220() ***********************************************
      
      //********************************** incomingMessage ************************************************
      
      void receive(const MyMessage &message) {
          // We only expect one type of message from controller. But we better check anyway.
          if (message.type == V_LIGHT) {
              // Change relay state
              if (message.sensor == CHILD_VERA_RELAY_SIGN) { // если пришло для сигнализации
                  digitalWrite(RELAY_SIGN, message.getBool() ? RELAY_ON : RELAY_OFF);
                  // Store state in eeprom
                  // gw.saveState(message.sensor, message.getBool());
              }
              if (message.sensor == CHILD_VERA_ROLLING) { // если пришло для рольставень
                  detachInterrupt(digitalPinToInterrupt(INTERRUPT_220V)); //временно выключаем прерывание
                  if (message.getBool() == true) { // если пришла 1 то закрываем
                      for (int i = 0; i < 5; i++) {
                          closers();
                      }
                  } else if (message.getBool() == false)
                      for (int i = 0; i < 5; i++) { // если пришёл 0 то открываем
                          for (int i = 0; i < 5; i++) {
                              openrs();
                          }
      
                      }
                  //  attachInterrupt(digitalPinToInterrupt(INTERRUPT_220V), detect_up, LOW);  // настроить срабатывание прерывания interrupt1 на pin 2 на низкий уровень
              }
              // Write some debug info
      #if ConsoleComm
              Serial.print("Incoming change for sensor:");
              Serial.print(message.sensor);
              Serial.print(", New status: ");
              Serial.println(message.getBool());
      #endif
          }
      }
      
      //************************************* END incomingMessage ******************************************
      
      tekkaT 1 Reply Last reply
      0
      • D Daemon D

        @tekka

        #include "CyberLib.h" //Библиотека от Cyber-Place.ru
        #include <SPI.h>
        #include <Bounce2.h>
        // Enable and select radio type attached
        #define MY_RADIO_NRF24
        // Enable debug prints to serial monitor
        #define MY_DEBUG 
        // Enable repeater functionality for this node
        #define MY_REPEATER_FEATURE
        
        #define ConsoleComm 0
        #define TIME_READ_INPUT_SEPIC_SIGN 1000 //время снятия показаний с входов
        #define TIME_SEND_VERA_SEPTIC 66000 //время для отправки данных септика
        #define TIME_SEND_VERA_SIGN 11000 //время для отправки данных сигнализации
        #define TIME_SEND_VERA_220 53100 //время для отправки данных 220
        #define RELAY_SIGN  6  // pin relay сигнализации
        #define DIGITAL_INPUT_SEPTIC 7   // The digital input D7 септик
        #define DIGITAL_INPUT_SIGN 8   // The digital input D8 сигнализация
        #define INTERRUPT_220V 3   // пин датчика наличия 220
        #define CHILD_VERA_SEPTIC 1   // Id Vera вирутального сенсора ошибки септика
        #define CHILD_VERA_SIGN 2   // Id  Vera вирутального сенсора срабатывания сигнализации 
        #define CHILD_VERA_220 3 // ID Vera вирутального сенсора наличия 220
        #define CHILD_VERA_RELAY_SIGN 4 // Id Vera реле сигнализации 
        #define CHILD_VERA_ROLLING 5 // Id Vera  рольставни
        #define RELAY_ON 1  // GPIO value to write to turn on attached relay
        #define RELAY_OFF 0 // GPIO value to write to turn off attached relay
        
        //MySensor gw; // MySensor
        Bounce debouncerInputSeptic = Bounce();
        Bounce debouncerInputSign = Bounce();
        
        MyMessage errorMsgSeptic(CHILD_VERA_SEPTIC, V_TRIPPED); // виртуальный сенсор ошибки септика
        MyMessage errorMsgSign(CHILD_VERA_SIGN, V_TRIPPED); // виртуальный сенсор сигнализации
        MyMessage errorMsg220(CHILD_VERA_220, V_TRIPPED); // виртуальный сенсор 220
        
        int powerlostint; // храним нарастающим итогом переходы 0 по 220
        bool powerlost, valueSeptic, valueSign;
        unsigned long currentTime;
        unsigned long loopTimeRead, loopTimeSeptic, loopTimeSign, loopTime220;
        Metro timer_read = Metro(TIME_READ_INPUT_SEPIC_SIGN); // храним время опросов датчиков входов
        Metro time_send_septic = Metro(TIME_SEND_VERA_SEPTIC); // храним время отправки данных на Vera о септике
        Metro time_send_sign = Metro(TIME_SEND_VERA_SIGN); // храним время отправки данных на Vera о сигнализации
        Metro time_send_220 = Metro(TIME_SEND_VERA_220); // храним время отправки данных на Vera о 220
        
        void presentation()  {
        
         // Initialize library and add callback for incoming messages
          //  gw.begin(incomingMessage, AUTO, true); //repeater node
        
            // Send the sketch version information to the gateway and Controller
            sendSketchInfo("Alarm Sensor", "1.0");
            present(CHILD_VERA_SEPTIC, S_MOTION); //alarm D7
            present(CHILD_VERA_SIGN, S_MOTION); //alarm D8
            present(CHILD_VERA_220, S_MOTION); //alarm 220
            // Register all sensors to gw (they will be created as child devices)
            present(CHILD_VERA_RELAY_SIGN, S_LIGHT); //relay D6
            present(CHILD_VERA_ROLLING, S_LIGHT); // вирутальное реле для рольставень
        
        }
        
        //********************обработчики прерываний*******************************
        void  detect_up() { // обработка внешнего прерывания. Сработает по переднему фронту
        
            powerlostint++; // если 50 раз в секунду получаем прерывание, увеличиваем powerlostint
        }
        
        
        //****************************SETUP*********************************************
        
        
        void setup() {
        
            UART_Init(115200);//инициализация последовательного порта
        #if ConsoleComm
            Serial << "Setup: " <<  endl;
        #endif
        
          
            // Then set relay pins in output mode
            pinMode(RELAY_SIGN, OUTPUT);
            // Set relay to last known state (using eeprom storage)
            D4_Out; //Настраиваем пин D4 на выход для управления рольставнями
            pinMode(DIGITAL_INPUT_SEPTIC, INPUT);  // определяем DIGITAL_INPUT_SEPTIC как вход
            digitalWrite(DIGITAL_INPUT_SEPTIC, HIGH);     // подключить подтягивающий резистор
            pinMode(DIGITAL_INPUT_SIGN, INPUT);  // определяем IGITAL_INPUT_SENSOR_D7 как вход
            digitalWrite(DIGITAL_INPUT_SIGN, HIGH);     // подключить подтягивающий резистор
        
            // After setting up the button, setup debouncer
            debouncerInputSeptic.attach(DIGITAL_INPUT_SEPTIC);
            debouncerInputSeptic.interval(5);
            debouncerInputSign.attach(DIGITAL_INPUT_SIGN);
            debouncerInputSign.interval(5);
        
        }
        
        //**************************** LOOP ********************************************************
        
        void loop() {
        
           // gw.process(); // By calling process() you route messages in the background
            debouncerInputSeptic.update();  // обновляем статус боунсера септика
            debouncerInputSign.update(); // обновляем статус боунсера сигнализации
        
            if (timer_read.check() == 1) ReadD(); // через TIME_READ_INPUT_SEPIC_SIGN запускаем ReadD()
            if (time_send_septic.check() == 1) SendVeraSeptic(); // через TIME_SEND_VERA_SEPTIC запускаем SendVeraSeptic()
            if (time_send_sign.check() == 1) SendVeraSign(); // через TIME_SEND_VERA_SIGN запускаем SendVeraSign()
            if (time_send_220.check() == 1) SendVera220(); // через TIME_SEND_VERA_220 запускаем SendVera220()
        
        
        }
        
        //************************ END LOOP **********************************************************
        
        //************************** ReadD() *********************************************************
        
        // считываем данные со входов
        
        void ReadD() {
        
            // Get the update value
            valueSeptic = debouncerInputSeptic.read();
        
            // Get the update value
            valueSign = debouncerInputSign.read();
        
            //valueSign = digitalRead(DIGITAL_INPUT_SIGN);
        #if ConsoleComm
            Serial << "valueSign: " << valueSign << endl;
            Serial << "valueSeptic: " << valueSeptic << endl;
            Serial << "powerlost: " << powerlost << endl;
        #endif
        
        }
        
        //******************************** END ReadD() ****************************************************
        
        //********************************* SendVeraSeptic() ***********************************************
        
        // отсылаем данные на Vera о септике
        void SendVeraSeptic() {
        #if ConsoleComm
            Serial << "SendVeraSeptic(): " << valueSeptic << endl;
        #endif
            send(errorMsgSeptic.set(valueSeptic ? "1" : "0")); // Send tripped value to gw
        
        }
        
        //********************************* END SendVeraSeptic() ***********************************************
        
        //********************************* SendVeraSign() ***********************************************
        
        // отсылаем данные на Vera о сигнализации
        void SendVeraSign() {
        #if ConsoleComm
            Serial << "SendVeraSign(): " << valueSign << endl;
        #endif
            send(errorMsgSign.set(valueSign ? "1" : "0")); // Send tripped value to gw
        
        }
        
        //********************************* END SendVeraSign() ***********************************************
        
        //********************************* SendVera220() ***********************************************
        
        // отсылаем данные на Vera о 220
        void SendVera220() {
        
        #if ConsoleComm
            Serial << "220: " << powerlostint << endl;
        #endif
            attachInterrupt(digitalPinToInterrupt(INTERRUPT_220V),detect_up, LOW); // включаем прерывание чтобы наловить фронты 220
            delay(2); // нужен, т.к. бывает не успевает собрать данные
            if (powerlostint > 0) powerlost = false; // если получили кучу прерываний, значит 220 есть
            else powerlost=true;	// если нет прерываний, нет и 220
            detachInterrupt(digitalPinToInterrupt(INTERRUPT_220V)); //временно выключаем прерывание
            send(errorMsg220.set(powerlost ? "1" : "0")); // Send tripped value to gw
            powerlostint=0; // обнуляем счётчик прерываний
        }
        
        //********************************* END SendVera220() ***********************************************
        
        //********************************** incomingMessage ************************************************
        
        void receive(const MyMessage &message) {
            // We only expect one type of message from controller. But we better check anyway.
            if (message.type == V_LIGHT) {
                // Change relay state
                if (message.sensor == CHILD_VERA_RELAY_SIGN) { // если пришло для сигнализации
                    digitalWrite(RELAY_SIGN, message.getBool() ? RELAY_ON : RELAY_OFF);
                    // Store state in eeprom
                    // gw.saveState(message.sensor, message.getBool());
                }
                if (message.sensor == CHILD_VERA_ROLLING) { // если пришло для рольставень
                    detachInterrupt(digitalPinToInterrupt(INTERRUPT_220V)); //временно выключаем прерывание
                    if (message.getBool() == true) { // если пришла 1 то закрываем
                        for (int i = 0; i < 5; i++) {
                            closers();
                        }
                    } else if (message.getBool() == false)
                        for (int i = 0; i < 5; i++) { // если пришёл 0 то открываем
                            for (int i = 0; i < 5; i++) {
                                openrs();
                            }
        
                        }
                    //  attachInterrupt(digitalPinToInterrupt(INTERRUPT_220V), detect_up, LOW);  // настроить срабатывание прерывания interrupt1 на pin 2 на низкий уровень
                }
                // Write some debug info
        #if ConsoleComm
                Serial.print("Incoming change for sensor:");
                Serial.print(message.sensor);
                Serial.print(", New status: ");
                Serial.println(message.getBool());
        #endif
            }
        }
        
        //************************************* END incomingMessage ******************************************
        
        tekkaT Offline
        tekkaT Offline
        tekka
        Admin
        wrote on last edited by tekka
        #6

        @Daemon-D Hmm...where do you load the MySensors lib?

        #include <MySensors.h>
        

        (this statement is missing in your sketch)

        D sinczeS 2 Replies Last reply
        0
        • tekkaT tekka

          @Daemon-D Hmm...where do you load the MySensors lib?

          #include <MySensors.h>
          

          (this statement is missing in your sketch)

          D Offline
          D Offline
          Daemon D
          wrote on last edited by Daemon D
          #7

          @tekka

          Используем библиотеку MySensors версии 2.0.1-beta из папки: C:\Users\Daemon\Google Drive\Project\libraries\MySensors 
          

          Already I tried the beta of the development, all the same.

          1 Reply Last reply
          0
          • tekkaT tekka

            @Daemon-D Hmm...where do you load the MySensors lib?

            #include <MySensors.h>
            

            (this statement is missing in your sketch)

            sinczeS Offline
            sinczeS Offline
            sincze
            MySensors Evangelist
            wrote on last edited by
            #8

            @tekka interesting. I assume people are already using repeaters in 2.0.x so it will be safe for me to. Migrate from 1.5.4 to 2.0.0??

            D tekkaT 2 Replies Last reply
            0
            • sinczeS sincze

              @tekka interesting. I assume people are already using repeaters in 2.0.x so it will be safe for me to. Migrate from 1.5.4 to 2.0.0??

              D Offline
              D Offline
              Daemon D
              wrote on last edited by
              #9

              @sincze said:

              @tekka interesting. I assume people are already using repeaters in 2.0.x so it will be safe for me to. Migrate from 1.5.4 to 2.0.0??

              Yes, Migrate from 1.5.4 to 2.0.0

              sinczeS 1 Reply Last reply
              0
              • D Daemon D

                @sincze said:

                @tekka interesting. I assume people are already using repeaters in 2.0.x so it will be safe for me to. Migrate from 1.5.4 to 2.0.0??

                Yes, Migrate from 1.5.4 to 2.0.0

                sinczeS Offline
                sinczeS Offline
                sincze
                MySensors Evangelist
                wrote on last edited by
                #10

                @Daemon-D okay for you still not working right??

                D 1 Reply Last reply
                0
                • sinczeS sincze

                  @Daemon-D okay for you still not working right??

                  D Offline
                  D Offline
                  Daemon D
                  wrote on last edited by Daemon D
                  #11

                  @sincze said:

                  @Daemon-D okay for you still not working right??
                  Repeater not working :(

                  tekkaT 1 Reply Last reply
                  0
                  • D Daemon D

                    @sincze said:

                    @Daemon-D okay for you still not working right??
                    Repeater not working :(

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

                    @Daemon-D I'm not sure you got my question regarding the issue you have with your repeater node. I suggest you try the RepeaterNode sketch from the MySensors examples and post the debug log here.

                    D 1 Reply Last reply
                    0
                    • sinczeS sincze

                      @tekka interesting. I assume people are already using repeaters in 2.0.x so it will be safe for me to. Migrate from 1.5.4 to 2.0.0??

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

                      @sincze said:

                      @tekka interesting. I assume people are already using repeaters in 2.0.x so it will be safe for me to. Migrate from 1.5.4 to 2.0.0??

                      Yes, should be safe to use.

                      1 Reply Last reply
                      0
                      • tekkaT tekka

                        @Daemon-D I'm not sure you got my question regarding the issue you have with your repeater node. I suggest you try the RepeaterNode sketch from the MySensors examples and post the debug log here.

                        D Offline
                        D Offline
                        Daemon D
                        wrote on last edited by Daemon D
                        #14

                        @tekka

                        @tekka said:

                        @Daemon-D I'm not sure you got my question regarding the issue you have with your repeater node. I suggest you try the RepeaterNode sketch from the MySensors examples and post the debug log here.

                        The problem was solved by a code transfer at the very beginning as a test sketch before #include

                        // Enable debug prints to serial monitor
                        #define MY_DEBUG 
                        
                        // Enable and select radio type attached
                        #define MY_RADIO_NRF24
                        //#define MY_RADIO_RFM69
                        
                        // Enabled repeater feature for this node
                        #define MY_REPEATER_FEATURE```
                        tekkaT 1 Reply Last reply
                        0
                        • D Daemon D

                          @tekka

                          @tekka said:

                          @Daemon-D I'm not sure you got my question regarding the issue you have with your repeater node. I suggest you try the RepeaterNode sketch from the MySensors examples and post the debug log here.

                          The problem was solved by a code transfer at the very beginning as a test sketch before #include

                          // Enable debug prints to serial monitor
                          #define MY_DEBUG 
                          
                          // Enable and select radio type attached
                          #define MY_RADIO_NRF24
                          //#define MY_RADIO_RFM69
                          
                          // Enabled repeater feature for this node
                          #define MY_REPEATER_FEATURE```
                          tekkaT Offline
                          tekkaT Offline
                          tekka
                          Admin
                          wrote on last edited by
                          #15

                          @Daemon-D Can you explain how you solved the issue - I'm sure other user could also profit if they face a similar problem. Thanks.

                          D 1 Reply Last reply
                          0
                          • tekkaT tekka

                            @Daemon-D Can you explain how you solved the issue - I'm sure other user could also profit if they face a similar problem. Thanks.

                            D Offline
                            D Offline
                            Daemon D
                            wrote on last edited by Daemon D
                            #16

                            @tekka said:

                            @Daemon-D Can you explain how you solved the issue - I'm sure other user could also profit if they face a similar problem. Thanks.

                            The problem was solved by moving to the top of the sketch exactly like the to test the sketch before #include

                            // Enable debug prints to serial monitor
                            #define MY_DEBUG 
                            
                            // Enable and select radio type attached
                            #define MY_RADIO_NRF24
                            //#define MY_RADIO_RFM69
                            
                            // Enabled repeater feature for this node
                            #define MY_REPEATER_FEATURE
                            
                            #include <SPI.h>
                            #include <MySensors.h>
                            
                            1 Reply Last reply
                            2
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            21

                            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