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. No protocol version during PRESENTATION

No protocol version during PRESENTATION

Scheduled Pinned Locked Moved Troubleshooting
3 Posts 2 Posters 1.1k Views 1 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.
  • T Offline
    T Offline
    Tang
    wrote on last edited by
    #1

    Hi

    I just upgraded all my sensors/gateway to the new version and I don't see protocol version of my sensors during PRESENTATION message.
    It worked before (1.4.1)
    I compiled my sketches using master.zip file in download section

    Here is full log of my controller (agocontrol) during temperature sensor startup:

     => 22:21:11 2015/08/05 RECEIVING: 0/0;INTERNAL;0;I_LOG_MESSAGE;read: 110-110-0 s=255,c=0,t=17,pt=0,l=3,sg=0:1.5
     => 22:21:11 2015/08/05 RECEIVING: 110/255;PRESENTATION;0;S_ARDUINO_NODE;1.5
     => 22:21:11 2015/08/05 RECEIVING: 0/0;INTERNAL;0;I_LOG_MESSAGE;read: 110-110-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0
     => 22:21:11 2015/08/05 RECEIVING: 110/255;INTERNAL;0;I_CONFIG;0
     => 22:21:11 2015/08/05 SENDING: 110;255;3;0;6;M
     => 22:21:11 2015/08/05 RECEIVING: 0/0;INTERNAL;0;I_LOG_MESSAGE;send: 0-0-110-110 s=255,c=3,t=6,pt=0,l=1,sg=0,st=ok:M
     => 22:21:13 2015/08/05 RECEIVING: 0/0;INTERNAL;0;I_LOG_MESSAGE;read: 110-110-0 s=255,c=3,t=11,pt=0,l=18,sg=0:Temperature S
     => 22:21:13 2015/08/05 RECEIVING: 110/255;INTERNAL;0;I_SKETCH_NAME;Temperature Sensor
     => 22:21:13 2015/08/05 RECEIVING: 0/0;INTERNAL;0;I_LOG_MESSAGE;read: 110-110-0 s=255,c=3,t=12,pt=0,l=3,sg=0:1.0
     => 22:21:13 2015/08/05 RECEIVING: 110/255;INTERNAL;0;I_SKETCH_VERSION;1.0
     => 22:21:13 2015/08/05 RECEIVING: 0/0;INTERNAL;0;I_LOG_MESSAGE;read: 110-110-0 s=0,c=0,t=6,pt=0,l=0,sg=0:
     => 22:21:13 2015/08/05 RECEIVING: 110/0;PRESENTATION;0;S_TEMP;
    

    As you can see S_ARDUINO_NODE reports (line2) its version 1.5 but the S_TEMP presentation (last line) reports nothing in payload.
    The only sensor that reports correctly its version is the repeater node.

    Here is my sketch:

    #include <MySensor.h>  
    #include <SPI.h>
    #include <DallasTemperature.h>
    #include <OneWire.h>
    
    #define TIMEOUT 600000 //10 minutes
    #define ONE_WIRE_BUS 4 // Pin where dallase sensor is connected 
    unsigned long SLEEP_TIME = 150000; // Sleep time between reads (in milliseconds)
    OneWire oneWire(ONE_WIRE_BUS);
    DallasTemperature sensors(&oneWire);
    MySensor gw;
    // Initialize temperature message
    MyMessage msg(0,V_TEMP);
    
    void setup()  
    { 
      // Startup OneWire 
      sensors.begin();
    
      // Startup and initialize MySensors library. Set callback for incoming messages. 
      gw.begin(); 
    
      // Send the sketch version information to the gateway and Controller
      gw.sendSketchInfo("Temperature Sensor", "1.0");
      
      gw.present(0, S_TEMP);
    
    }
    
    void loop()     
    {     
      // Process incoming messages (like config from server)
      gw.process();
    
      // Fetch and round temperature to one decimal
      float temperature = static_cast<float>(static_cast<int>(sensors.getTempCByIndex(0)) * 10.) / 10.;
      sensors.requestTemperatures(); 
      
      gw.send(msg.set(temperature,1));
          
      //sleep
      gw.sleep(SLEEP_TIME);
    }
    

    Is this an issue or I missed something?

    Thank you for your help.

    Tang

    1 Reply Last reply
    0
    • hekH Offline
      hekH Offline
      hek
      Admin
      wrote on last edited by
      #2

      gw.present(0, S_TEMP);

      Version is only sent to the S_ARDUINO_NODE now.

      The present() method now supports a 3rd argument, a device title which will show instead of version if controller supports it.

      E.g. gw.present(0, S_TEMP, "Temp Living Room");

      1 Reply Last reply
      0
      • T Offline
        T Offline
        Tang
        wrote on last edited by
        #3

        Ok thanks for the precision ;-)

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


        15

        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