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 Offline
    D Offline
    Daemon D
    wrote on last edited by
    #3

    @Daemon-D said:

    // Enable repeater functionality for this node
    #define MY_REPEATER_FEATURE
    

    that is enough to enable the repeater?

    tekkaT 1 Reply Last reply
    0
    • 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


                              28

                              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