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
D

darazs

@darazs
About
Posts
6
Topics
0
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • How to know the node ids assigned by the mqtt gateway to the sensors?
    D darazs

    @amitach said:

    Hi,

    I have a mqtt gateway running on arduino from mysensors library. I also have an openhab controller running on a raspberry pi connected to the arduino uno through the ethernet shield. I am trying to create my first item on openhab and I understand that the format required is
    MyMQTT/20/0/V_TEMP where 20 and 0 are node id and sensor id respectively.

    I can see following message on the serial monitor

    Started!
    0;0;3;0;9;read: 20-20-0 s=1,c=1,t=16,pt=0,l=1:1

    1. How do I configure the node id and the sensor id?
    2. Is it assigned automatically or do I assign it statically?
    3. How do I understand the above output on the serial monitor?

    You can let the gateway autoassign node IDs or take it in your own hands.

    What I found useful is to not rely on the automatic assignment but give my nodes a static ID, you can do that by replacing the gw.begin function call by this:

    gw.begin(NULL, NODE_ID, false);
    

    where NODE_ID is your chosen ID (you can use "#define NODE_ID 12" for example to specify it before).

    The sensor ID is specified by you. So in each example you see a line something like this:

    MyMessage msgMotion(CHILD_ID_MOTION, V_TRIPPED);
    

    where the first argument (here CHILD_ID_MOTION) specifies the sensor ID that will be sent along your message. You can, again, use #define to define a number in the top of your sketch.

    The serial output was a mystery to me as well until I looked up the printout in the libraries/MySensors/MySensors.cpp file. It's constructed like this:

    debug(PSTR("read: %d-%d-%d s=%d,c=%d,t=%d,pt=%d,l=%d:%s\n"),
    			msg.sender, msg.last, msg.destination,  msg.sensor, mGetCommand(msg), msg.type, mGetPayloadType(msg), mGetLength(msg), msg.getString(convBuf)); 
    

    So it's the sender's node ID, then probably the next hop's node ID, then the destination's node ID, then s=sensor ID, command type?, the message type (like V_TRIPPED, but as a number), payload type, length of the message, the message itself.

    Development
  • Login

  • Don't have an account? Register

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