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
T

titvs

@titvs
About
Posts
36
Topics
7
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • Temperature + Humidity with OLED
    T titvs

    @mfalkvidd hmm, that’s a nice suggestion... I don’t have motion sensors where they are but maybe I can integrate it on the actual node...
    Will give it some thought.

    Thanks! :D

    Development

  • Temperature + Humidity with OLED
    T titvs

    0_1537124978902_temphumoled-01.jpg

    Hi everyone.

    I've introduced a small 0.96" OLED display (based on the SSD1306) on the temperature and humidity node, so you can read directly the values as you enter the house compartment (as you can see above).
    Since i dont know the reliability of this kind of displays and they are a bit bright (of if they have some kind of burn-in issue), im asking you guys for some ideas to turn it off and back on, maybe taking into account info got from the controller (and even display other info).

    Im using the u8g2 display library wich has the instruction "setContrast", but these displays dont support contrast control. It seems the only way is to turn it off with the instruction "setPowerSave".

    I was thinking of displaying the current date also and maybe turn it off at night. For this i was thinking of using the "requestTime()" command…

    What do you guys think?

    Here is my code so you can take a look and use on your own projects:

    // Enable debug prints
    //#define MY_DEBUG
    
    #define MY_RADIO_RFM69
    #define MY_IS_RFM69HW
    #define MY_RFM69_NEW_DRIVER
    #define MY_RFM69_FREQUENCY RFM69_433MHZ
    
    #define MY_NODE_ID 15
    
    // #define MY_REPEATER_FEATURE
    
    #include <SPI.h>
    #include <MySensors.h>  
    #include <DHT.h>
    
    #include <U8g2lib.h>  
    #include <Wire.h>    
    
    U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, A5, A4);   // U8G2 Constructor (A5 - Clock SCL ; A4 - Data SDA)
    
    // Set this to the pin you connected the DHT's data pin to
    #define DHT_DATA_PIN 3
    
    // Set this offset if the sensor has a permanent small offset to the real temperatures.
    // In Celsius degrees (as measured by the device)
    #define SENSOR_TEMP_OFFSET 0
    
    // Sleep time between sensor updates (in milliseconds)
    // Must be >1000ms for DHT22 and >2000ms for DHT11
    static const uint64_t UPDATE_INTERVAL = 60000;
    
    // Force sending an update of the temperature after n sensor reads, so a controller showing the
    // timestamp of the last update doesn't show something like 3 hours in the unlikely case, that
    // the value didn't change since;
    // i.e. the sensor would force sending an update every UPDATE_INTERVAL*FORCE_UPDATE_N_READS [ms]
    static const uint8_t FORCE_UPDATE_N_READS = 10;
    
    #define CHILD_ID_HUM 0
    #define CHILD_ID_TEMP 1
    
    float lastTemp;
    float lastHum;
    uint8_t nNoUpdatesTemp;
    uint8_t nNoUpdatesHum;
    bool metric = true;
    
    MyMessage msgHum(CHILD_ID_HUM, V_HUM);
    MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
    DHT dht;
    
    void before(){
    
       u8g2.begin();
    
       u8g2.firstPage();
       do {
         u8g2.setFont(u8g2_font_helvR14_tf);
         u8g2.drawStr(38,15,"OLED");
         u8g2.drawStr(15,35,"Temp+Hum");
         u8g2.drawStr(46,60,"v1.2");
       } while ( u8g2.nextPage() );
      
      delay(3000);
    
      u8g2.clear();
     
       u8g2.firstPage();
        do {
         u8g2.drawStr(3, 32, "Connecting...");
       } while ( u8g2.nextPage() );
    }
    
    void presentation()  
    { 
    
      // Send the sketch version information to the gateway
      sendSketchInfo("TEMPHUM_OLED", "1.2");
    
      // Register all sensors to gw (they will be created as child devices)
      present(CHILD_ID_HUM, S_HUM);
      present(CHILD_ID_TEMP, S_TEMP);
    
      metric = getControllerConfig().isMetric;
    }
    
    void setup()
    {
      
      u8g2.clear();
      
      dht.setup(DHT_DATA_PIN); // set data pin of DHT sensor
      if (UPDATE_INTERVAL <= dht.getMinimumSamplingPeriod()) {
    
        u8g2.firstPage();
        do {
            u8g2.setFont(u8g2_font_haxrcorp4089_tr); // 7 PIXEL HIGHT
            u8g2.drawStr(1,12,"WARNING: UPDATE_INTERVAL");
           u8g2.drawStr(1,24,"is smaller than supported by");
            u8g2.drawStr(1,36,"the sensor!");
           } while ( u8g2.nextPage() );
        delay(4000);
    
      }
      // Sleep for the time of the minimum sampling period to give the sensor time to power up
      // (otherwise, timeout errors might occure for the first reading)
      sleep(dht.getMinimumSamplingPeriod());
    }
    
    void loop()      
    {  
    
     while (transportCheckUplink() == false){
    
      u8g2.firstPage();
      do {
        u8g2.setFont(u8g2_font_helvR14_tf); // 14 px height
        u8g2.drawStr(3, 32, "Disconnected!");
        } while ( u8g2.nextPage() );
     }
    
        // Force reading sensor, so it works also after sleep()
      dht.readSensor(true);
    
      // Get temperature from DHT library
      float temperature = dht.getTemperature();
      if (isnan(temperature)) {
        Serial.println("Failed reading temperature from DHT!");
    
      } else if (temperature != lastTemp || nNoUpdatesTemp == FORCE_UPDATE_N_READS) {
        // Only send temperature if it changed since the last measurement or if we didn't send an update for n times
        lastTemp = temperature;
    
        // apply the offset before converting to something different than Celsius degrees
        temperature += SENSOR_TEMP_OFFSET;
    
        if (!metric) {
          temperature = dht.toFahrenheit(temperature);
        }
        // Reset no updates counter
        nNoUpdatesTemp = 0;
        send(msgTemp.set(temperature, 1));
    
        #ifdef MY_DEBUG
        Serial.print("T: ");
        Serial.println(temperature);
        #endif
      } else {
        // Increase no update counter if the temperature stayed the same
        nNoUpdatesTemp++;
      }
    
      // Get humidity from DHT library
      float humidity = dht.getHumidity();
      if (isnan(humidity)) {
        Serial.println("Failed reading humidity from DHT");
      } else if (humidity != lastHum || nNoUpdatesHum == FORCE_UPDATE_N_READS) {
        // Only send humidity if it changed since the last measurement or if we didn't send an update for n times
        lastHum = humidity;
        // Reset no updates counter
        nNoUpdatesHum = 0;
        send(msgHum.set(humidity, 1));
    
        #ifdef MY_DEBUG
        Serial.print("H: ");
        Serial.println(humidity);
        #endif
      } else {
        // Increase no update counter if the humidity stayed the same
        nNoUpdatesHum++;
      }
    
      u8g2.firstPage();
      do {
       u8g2.setFont(u8g2_font_fub30_tn);
      u8g2.setCursor(2, 35);
      u8g2.print(temperature, 1);
      u8g2.setFont(u8g2_font_inb16_mf);
      u8g2.drawGlyph(88, 35, 0x00b0); // degree
      u8g2.drawStr(100, 35, "C");
      u8g2.setCursor(70, 60);
      u8g2.print(humidity, 0);
      u8g2.drawStr(100, 60, "%");
      u8g2.setFont(u8g2_font_open_iconic_thing_2x_t); // 16 pix height
      u8g2.drawGlyph(45, 60, 0x0048); // drop
     } while ( u8g2.nextPage() );
      
      // Sleep for a while to save energy
      wait(UPDATE_INTERVAL);  // POWERED NODE
    }
    

    Be advised that this code is almost near the memory capacity of the Nano 328P... :P

    Development

  • [SOLVED] RFM69HW Issues
    T titvs

    Did some testing today and i can now confirm that this issue with internal messages not getting delivered to the controller is now FIXED with commit 5d159a6 .

    Thanks @tekka

    Troubleshooting

  • [SOLVED] RFM69HW Issues
    T titvs

    Hi everyone,

    I'm starting to setup an additional network for my nodes that are very far away from the gateway, using the RFM69HW 433 MHz variety. So ive built another serial gateway using an Uno and a RFM69 module (with the appropriate level converters on the NSS, MOSI and SCK lines) and DI00 pin at the D2 uno pin. The gateway log doesnt report any error and starts up ok.
    I had a communication problem with a simple temp+hum node. The node started up ok but it failed to communicate with the gateway. I then forced a node ID to the sensor node and oddly it worked…

    Other thing i noticed is that im not getting internal messages delivered to the gateway, only sensor values defined by MyMessage and which are presented.
    The sketch info sent with "sendSketchInfo" doesnt show on Domoticz side, neither does battery levels sent with "sendBatteryLevel". If i just change the radio to a NRF24 with the same sketch code, everything works…

    I wonder if this has anything to do with Ack collision discussed here ? It seems the fix suggested didnt get implemented yet…

    Its odd that it seems that only some info gets transmitted with the RFM69 and all of them with the NRF24...

    Thanks for any insights.

    Troubleshooting

  • RFM95 network problem (RPI & Arduino GW)
    T titvs

    @m3nt4lll Try to assign a fixed node ID to your sensors nodes with the line:

    #define MY_NODE_ID 12
    

    Change the number to what you like.
    I also had the same problem with a serial gateway with RFM69 and a simple temp+hum node. They did startup ok but no communication between them.
    I then assigned a node ID to the sensor node and oddly it worked…

    Other thing i noticed is that im not getting internal messages delivered to the gateway, only sensor values defined by MyMessage and presented.
    The sketch info sent with sendSketchInfo doesnt show on Domoticz side, neither does battery levels sent with sendBatteryLevel. If i just change the radio to a NRF24 with the same sketch code, everything works…
    @m3nt4lll If you get communication, see if you have this problem too.

    I wonder if this has anything to do with Ack collision discussed here ? It seems the fix suggested by @Koresh didt get implemented yet…

    Any ideias guys?

    Troubleshooting

  • The Repeater Stick
    T titvs

    @alowhum Good find!

    Enclosures / 3D Printing

  • The Repeater Stick
    T titvs

    My latest "speedy" design: a small case for an Arduino Nano and a NRF24 module used as a Repeater.

    Get it at Thingiverse

    2_1535305383755_repeater_stick_03.jpg 1_1535305383755_repeater_stick_02.jpg 0_1535305383755_repeater_stick_01.jpg

    Enclosures / 3D Printing

  • Repeater drops nodes
    T titvs

    @tekka Here it is: REPEATER LOG

    It seems to be working ok but there are still some NACKs on the log. Radio issues perhaps? Neverthless, im not getting the node dropouts i got with the 2.3.0 version...

    Troubleshooting

  • Repeater drops nodes
    T titvs

    @tekka i didnt save the log from the Repeater but if it helps i'm going to collect it. As for the Repeater sketch, its the default:

    // Enable debug prints to serial monitor
    //#define MY_DEBUG
    
    // Enable and select radio type attached
    #define MY_RADIO_NRF24
    //#define MY_RADIO_NRF5_ESB
    //#define MY_RADIO_RFM69
    //#define MY_RADIO_RFM95
    
    #define MY_NODE_ID 51    // FIXED NODE ID
    #define MY_PARENT_NODE_ID 0
    #define MY_PARENT_NODE_IS_STATIC
    
    #define MY_RF24_CHANNEL 1
    #define MY_RF24_PA_LEVEL RF24_PA_HIGH
    
    // Enabled repeater feature for this node
    #define MY_REPEATER_FEATURE
    
    #include <MySensors.h>
    
    void setup()
    {
    }
    
    void presentation()
    {
      //Send the sensor node sketch version information to the gateway
      sendSketchInfo("Repeater Node", "1.0");
    }
    
    void loop()
    {
    }```
    Troubleshooting

  • Repeater drops nodes
    T titvs

    @tekka Well, im running your beta code and like @itbeyond it seems to be working for 24h now. Uploaded the new compiles with the lib from the RF24Fix branch to all the nodes, gateway and repeater and it seems the drops stopped.
    Built a couple of Relay nodes, one of which is connected to the repeater and they also seem to be working correctly.

    Im linking the ZIP to the node log file with the RF24 verbose debug (its a tad big), if you want to take a look:

    LOG

    And this is my TEMP+HUM node sketch:

    // Enable debug prints
    //#define MY_DEBUG
    //#define MY_DEBUG_VERBOSE_RF24
    
    // Enable and select radio type attached 
    #define MY_RADIO_NRF24
    //#define MY_RADIO_RFM69
    //#define MY_RS485
    
    #define MY_RF24_CHANNEL 1   //////////////
    #define MY_RF24_PA_LEVEL RF24_PA_HIGH
    
    // ONLY IF USING FIXED ID REPEATER
    //#define MY_PARENT_NODE_ID 0            // REPEATER NODE ID
    //#define MY_PARENT_NODE_IS_STATIC        // this will force your node to use only the repeater
    
    // #define MY_REPEATER_FEATURE
    
    #include <SPI.h>
    #include <MySensors.h>  
    #include <DHT.h>
    
    #include <U8g2lib.h>  //////////////////////
    #include <Wire.h>    /////////////////////////
    
    U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, A5, A4);   // U8G2 Constructor (A5 - Clock SCL ; A4 - Data SDA)
    
    #define DHT_DATA_PIN 3
    
    #define SENSOR_TEMP_OFFSET 0
    
    static const uint64_t UPDATE_INTERVAL = 60000;
    
    static const uint8_t FORCE_UPDATE_N_READS = 10;
    
    #define CHILD_ID_HUM 0
    #define CHILD_ID_TEMP 1
    
    float lastTemp;
    float lastHum;
    uint8_t nNoUpdatesTemp;
    uint8_t nNoUpdatesHum;
    bool metric = true;
    
    MyMessage msgHum(CHILD_ID_HUM, V_HUM);
    MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
    DHT dht;
    
    void before(){
    
       u8g2.begin();
    
       u8g2.firstPage();
       do {
         u8g2.setFont(u8g2_font_helvR14_tf);
         u8g2.drawStr(38,15,"OLED");
         u8g2.drawStr(15,35,"Temp+Hum");
         u8g2.drawStr(46,60,"v1.2");
       } while ( u8g2.nextPage() );
      
      delay(3000);
    
      u8g2.clear();
     
       u8g2.firstPage();
        do {
         u8g2.drawStr(3, 32, "Connecting...");
       } while ( u8g2.nextPage() );
    }
    
    void presentation()  
    { 
    
      // Send the sketch version information to the gateway
      sendSketchInfo("TEMPHUM_OLED", "1.2");
    
      // Register all sensors to gw (they will be created as child devices)
      present(CHILD_ID_HUM, S_HUM);
      present(CHILD_ID_TEMP, S_TEMP);
    
      metric = getControllerConfig().isMetric;
    }
    
    void setup()
    {
      
      u8g2.clear();
      
      dht.setup(DHT_DATA_PIN); // set data pin of DHT sensor
      if (UPDATE_INTERVAL <= dht.getMinimumSamplingPeriod()) {
    
        u8g2.firstPage();
        do {
            u8g2.setFont(u8g2_font_haxrcorp4089_tr); // 7 PIXEL HIGHT
            u8g2.drawStr(1,12,"WARNING: UPDATE_INTERVAL");
           u8g2.drawStr(1,24,"is smaller than supported by");
            u8g2.drawStr(1,36,"the sensor!");
           } while ( u8g2.nextPage() );
        delay(4000);
    
      }
    
      sleep(dht.getMinimumSamplingPeriod());
    }
    
    void loop()      
    {  
    
     while (transportCheckUplink() == false){
    
      u8g2.firstPage();
      do {
        u8g2.setFont(u8g2_font_helvR14_tf); // 14 px height
        u8g2.drawStr(3, 32, "Disconnected!");
        } while ( u8g2.nextPage() );
     }
    
      dht.readSensor(true);
    
      float temperature = dht.getTemperature();
      if (isnan(temperature)) {
        Serial.println("Failed reading temperature from DHT!");
    
      } else if (temperature != lastTemp || nNoUpdatesTemp == FORCE_UPDATE_N_READS) {
        // Only send temperature if it changed since the last measurement or if we didn't send an update for n times
        lastTemp = temperature;
    
        // apply the offset before converting to something different than Celsius degrees
        temperature += SENSOR_TEMP_OFFSET;
    
        if (!metric) {
          temperature = dht.toFahrenheit(temperature);
        }
        // Reset no updates counter
        nNoUpdatesTemp = 0;
        send(msgTemp.set(temperature, 1));
    
        #ifdef MY_DEBUG
        Serial.print("T: ");
        Serial.println(temperature);
        #endif
      } else {
        // Increase no update counter if the temperature stayed the same
        nNoUpdatesTemp++;
      }
    
      // Get humidity from DHT library
      float humidity = dht.getHumidity();
      if (isnan(humidity)) {
        Serial.println("Failed reading humidity from DHT");
      } else if (humidity != lastHum || nNoUpdatesHum == FORCE_UPDATE_N_READS) {
        // Only send humidity if it changed since the last measurement or if we didn't send an update for n times
        lastHum = humidity;
        // Reset no updates counter
        nNoUpdatesHum = 0;
        send(msgHum.set(humidity, 1));
    
        #ifdef MY_DEBUG
        Serial.print("H: ");
        Serial.println(humidity);
        #endif
      } else {
        // Increase no update counter if the humidity stayed the same
        nNoUpdatesHum++;
      }
    
      u8g2.firstPage();
      do {
      
      u8g2.setFont(u8g2_font_fub30_tn);
      u8g2.setCursor(2, 35);
      u8g2.print(temperature, 1);
      u8g2.setFont(u8g2_font_inb16_mf);
      u8g2.drawGlyph(88, 35, 0x00b0); // degree
      u8g2.drawStr(100, 35, "C");
      u8g2.setCursor(70, 60);
      u8g2.print(humidity, 0);
      u8g2.drawStr(100, 60, "%");
      u8g2.setFont(u8g2_font_open_iconic_thing_2x_t); // 16 pix height
      u8g2.drawGlyph(45, 60, 0x0048); // drop
      
      } while ( u8g2.nextPage() );
      
      // Sleep for a while to save energy
      //sleep(UPDATE_INTERVAL); 
      
      delay(UPDATE_INTERVAL);  // POWERED NODE
    }
    
    
    
    Troubleshooting

  • Repeater drops nodes
    T titvs

    @itbeyond can you please post the initial code defines for your repeater and a node that connects to it? To see if I’m doing something wrong...
    In the meantime I’m going to get the debug log and sketch code for my node.

    Troubleshooting

  • Repeater drops nodes
    T titvs

    @tekka the debug log (MY_DEBUG)/sketch from the node that gets disconnected or the repeater?

    Troubleshooting

  • Repeater drops nodes
    T titvs

    @tekka well, unfortunately i had the same problem. The far away node connected to the Repeater but after aprox 1h working ok, it stopped being updated at Domoticz with transportCheckUplink() false.
    You changed a timing setting, right? With the normal version the node stopped being updated at about 15-16 min and now it changed to about 1 hour…
    I have a node connected directly to the gateway with the nrf24L01+ PA+LNA working without problems, so it seems to be some kind of problem with the Repeater code and timings...

    Troubleshooting

  • Repeater drops nodes
    T titvs

    @itbeyond Nice! Will test it today and post my results.

    Troubleshooting

  • Repeater drops nodes
    T titvs

    @tekka using normal NRF24's on the nodes and a nrf24L01+ PA+LNA on the gateway.

    Troubleshooting

  • Repeater drops nodes
    T titvs

    @tekka ok, will test your version tomorrow and collect the node log. Do i need to upload your version to the node, repeater and gateway?

    Troubleshooting

  • Repeater drops nodes
    T titvs

    @itbeyond im running 2.3 on gateway, nodes and repeater… Im glad someone showed up with the same issue. The behaviour is similar: everything is ok and, in my case, it starts to "NACK" after around 16 min… Seems to be a software problem then and not the "popular" NRF24 reception issues. What radios are you using? NRF24's?

    Troubleshooting

  • Repeater drops nodes
    T titvs

    I know about the power requirements, but only the gateway is amplified. The repeater i was testing was a normal nano with a NRF24 powered by an original LG USB charger. Thats not the point with this issue.

    What im saying is that seems the repeater stops to relay messages after about 16 minutes and with an almost direct line of sight to the gateway… If i remove the repeater, the node that is about 2 meters further apart from where the repeater was, still gets signal directly from the gateway and it works normally.
    If i put the repeater in between, about 16 minutes later one of the values (temp or hum) doesnt get through to the gateway.

    Ive tested different radios, nanos and power supplies but it seems to be a software issue or somekind of interference… I'll have to equate if i put up more gateways with NRF24's or completely ditch them. They seem not to worth all this hassle even if they are cheaper...

    Troubleshooting

  • Repeater drops nodes
    T titvs

    Ive been digging around the node logs and i got this after a while:

    964875 !TSF:MSG:PONG RECV,INACTIVE
    964878 TSF:PNG:SEND,TO=0
    964882 TSF:MSG:SEND,3-3-51-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
    964917 TSF:MSG:READ,0-51-3,s=255,c=3,t=25,pt=1,l=1,sg=0:2
    964922 TSF:MSG:PONG RECV,HP=2
    964925 TSF:CKU:OK
    964969 !TSF:MSG:SEND,3-3-51-0,s=0,c=1,t=1,pt=7,l=5,sg=0,ft=0,st=NACK:48.7
    

    A bunch of NACK errors and "!TSF:MSG:PONG RECV,INACTIVE". I dont understand why this doesnt happen at the beginning and only after a while (about 16 minutes in this case) and i also dont know if the lack of radio acknowledge is from the repeater to the node or the repeater to the gateway…

    Ive now moved the repeater more closer to the gateway but im still getting:

    !TSF:MSG:SEND,3-3-51-0,s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=NACK:26.1
    

    Oddly, again after 16 minutes… Im at a loss...

    Troubleshooting

  • Repeater drops nodes
    T titvs

    @sundberg84 well, the repeater doesnt "hang" on the literal sense. Here is the initial log from it with the initialization and the acknowledge of one of the nodes:

    16 MCO:BGN:INIT REPEATER,CP=RNNRA---,VER=2.3.0
    26 TSM:INIT
    27 TSF:WUR:MS=0
    34 TSM:INIT:TSP OK
    35 TSM:INIT:STATID=51
    37 TSF:SID:OK,ID=51
    39 TSM:FPAR
    40 TSM:FPAR:STATP=0
    43 TSM:ID
    44 TSM:ID:OK
    45 TSM:UPL
    48 TSF:MSG:SEND,51-51-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
    59 TSF:MSG:READ,0-0-51,s=255,c=3,t=25,pt=1,l=1,sg=0:1
    64 TSF:MSG:PONG RECV,HP=1
    66 TSM:UPL:OK
    68 TSM:READY:ID=51,PAR=0,DIS=1
    97 TSF:MSG:SEND,51-51-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
    114 TSF:MSG:READ,0-0-51,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    147 TSF:MSG:SEND,51-51-0-0,s=255,c=0,t=18,pt=0,l=5,sg=0,ft=0,st=OK:2.3.0
    155 TSF:MSG:SEND,51-51-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
    175 TSF:MSG:READ,0-0-51,s=255,c=3,t=6,pt=0,l=1,sg=0:M
    212 TSF:MSG:SEND,51-51-0-0,s=255,c=3,t=11,pt=0,l=13,sg=0,ft=0,st=OK:Repeater Node
    222 TSF:MSG:SEND,51-51-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
    228 MCO:REG:REQ
    232 TSF:MSG:SEND,51-51-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
    242 TSF:MSG:READ,0-0-51,s=255,c=3,t=27,pt=1,l=1,sg=0:1
    247 MCO:PIM:NODE REG=1
    249 MCO:BGN:STP
    251 MCO:BGN:INIT OK,TSP=1
    22758 TSF:MSG:READ,2-2-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1
    22763 TSF:MSG:REL MSG
    22765 TSF:MSG:REL PxNG,HP=1
    22770 TSF:MSG:SEND,2-51-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:2
    22781 TSF:MSG:READ,0-0-2,s=255,c=3,t=25,pt=1,l=1,sg=0:1
    22787 TSF:MSG:REL MSG
    22789 TSF:MSG:REL PxNG,HP=1
    22793 TSF:MSG:SEND,0-51-2-2,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:2
    22799 TSF:MSG:READ,2-2-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    22805 TSF:MSG:REL MSG
    22817 TSF:MSG:SEND,2-51-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
    22824 TSF:MSG:READ,0-0-2,s=255,c=3,t=25,pt=1,l=1,sg=0:1
    22830 TSF:MSG:REL MSG
    22832 TSF:MSG:REL PxNG,HP=1
    22857 TSF:MSG:SEND,0-51-2-2,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:2
    22864 TSF:MSG:READ,0-0-2,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    22870 TSF:MSG:REL MSG
    22874 TSF:MSG:SEND,0-51-2-2,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
    22880 TSF:MSG:READ,0-0-2,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    22885 TSF:MSG:REL MSG
    22889 TSF:MSG:SEND,0-51-2-2,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
    22896 TSF:MSG:READ,2-2-0,s=255,c=0,t=17,pt=0,l=5,sg=0:2.3.0
    22901 TSF:MSG:REL MSG
    22905 TSF:MSG:SEND,2-51-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=OK:2.3.0
    22913 TSF:MSG:READ,2-2-0,s=255,c=3,t=6,pt=1,l=1,sg=0:51
    22918 TSF:MSG:REL MSG
    22921 TSF:MSG:SEND,2-51-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:51
    22936 TSF:MSG:READ,0-0-2,s=255,c=3,t=6,pt=0,l=1,sg=0:M
    22941 TSF:MSG:REL MSG
    22979 !TSF:MSG:SEND,0-51-2-2,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=NACK:M
    22986 TSF:MSG:READ,2-2-0,s=255,c=3,t=11,pt=0,l=12,sg=0:TEMPHUM_OLED
    22992 TSF:MSG:REL MSG
    23035 !TSF:MSG:SEND,2-51-0-0,s=255,c=3,t=11,pt=0,l=12,sg=0,ft=0,st=NACK:TEMPHUM_OLED
    23044 TSF:MSG:READ,2-2-0,s=255,c=3,t=12,pt=0,l=3,sg=0:1.2
    23049 TSF:MSG:REL MSG
    23053 TSF:MSG:SEND,2-51-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=1,st=OK:1.2
    23059 TSF:MSG:READ,2-2-0,s=0,c=0,t=7,pt=0,l=0,sg=0:
    23064 TSF:MSG:REL MSG
    23067 TSF:MSG:SEND,2-51-0-0,s=0,c=0,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    23073 TSF:MSG:READ,2-2-0,s=1,c=0,t=6,pt=0,l=0,sg=0:
    23078 TSF:MSG:REL MSG
    23083 TSF:MSG:SEND,2-51-0-0,s=1,c=0,t=6,pt=0,l=0,sg=0,ft=0,st=OK:
    25023 TSF:MSG:READ,2-2-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2
    25028 TSF:MSG:REL MSG
    25032 TSF:MSG:SEND,2-51-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
    25039 TSF:MSG:READ,0-0-2,s=255,c=3,t=27,pt=1,l=1,sg=0:1
    25044 TSF:MSG:REL MSG
    25074 TSF:MSG:SEND,0-51-2-2,s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=OK:1
    27297 TSF:MSG:READ,2-2-0,s=1,c=1,t=0,pt=7,l=5,sg=0:25.8
    27302 TSF:MSG:REL MSG
    27307 TSF:MSG:SEND,2-51-0-0,s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=OK:25.8
    27314 TSF:MSG:READ,2-2-0,s=0,c=1,t=1,pt=7,l=5,sg=0:50.2
    

    When the nodes give the "disconnected" signal, the log from the repeater gives this block over and over:

    11917643 TSF:MSG:REL MSG
    11917645 TSF:MSG:REL PxNG,HP=1
    11917649 TSF:MSG:SEND,2-51-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:2
    11919709 TSF:MSG:READ,2-2-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1
    

    I cant see anything on the log that the repeater lost connection to the gateway so i guess its not a radio problem. But answering your question, when i collected the log, the repeater (arduino nano) was connected/powered via a USB 3.0 port and the NRF was power by the 3v3 pin.

    Im now collection the log from one of the nodes to see what it gives.

    Thanks!

    Troubleshooting
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular