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. Development
  3. What Happens to messages from Gateway when Node is not connected.

What Happens to messages from Gateway when Node is not connected.

Scheduled Pinned Locked Moved Development
6 Posts 2 Posters 2.5k 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.
  • M Offline
    M Offline
    mainali
    wrote on last edited by
    #1

    When I publish a message, GW takes care of sending it to the appropriate node. what if the node is not available, will the messages be sent later whenever the node gets reconnected.

    Trying to understand if there is a support for QoS 1/ QoS2 as specified in MQTT documentation, is there a provision to make sure the message is delivered to the Nodes exactly once and receive ACK for the same. Message may be for nodes which may be far away and need multiple hops to reach, similarly the ACK has to be propagated to the client who issued the message.

    I am kinda lost here, someone point me in right direction, has someone implemented or tried something which I am looking to do.

    1 Reply Last reply
    0
    • ferpandoF Offline
      ferpandoF Offline
      ferpando
      Hero Member
      wrote on last edited by
      #2

      From my experience, messages are lost if a node is not available when the message is sent.

      I'm working on a way to give the system a queue for messages. I use Vera as the controller.
      In my case, it is for messages that are sent too fast for the nodes to process, so messages are sent a few times until ack is received.

      I have it to retry a few times before it gives up, which is good enough for my needs at the moment, but I guess it wouldn't be difficult to implement somehting a bit more complex that keeps messages stored until the node becomes abailable.

      You can read about it here

      http://forum.mysensors.org/topic/131/scene-too-fast-for-gateway/52

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mainali
        wrote on last edited by
        #3

        @ferpando
        I am following your post, but given the size of gateway code maintaining a queue will have space constraints. Just wondering implementing this on controller end will solve the problem or it has to be both ways.
        I am writing my own controller after trying to use openHAB. Unfortunately for ruby there is just one library which is still in development and does not support Quality of Service beyond 0. Need to work on that to achieve messages are delivered exactly once.

        ferpandoF 1 Reply Last reply
        0
        • M mainali

          @ferpando
          I am following your post, but given the size of gateway code maintaining a queue will have space constraints. Just wondering implementing this on controller end will solve the problem or it has to be both ways.
          I am writing my own controller after trying to use openHAB. Unfortunately for ruby there is just one library which is still in development and does not support Quality of Service beyond 0. Need to work on that to achieve messages are delivered exactly once.

          ferpandoF Offline
          ferpandoF Offline
          ferpando
          Hero Member
          wrote on last edited by
          #4

          @mainali
          Messages are stored on the controller (Vera plugin in this case)
          If messages are generated directly by the gw then it could potentially be a problem if you store too many messages.
          My code deletes the message once it is ack'd, so it won't be sent again.
          If you need to store messages in the gw, maybe you could implement an external eeprom to store the messages until they are sent

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mainali
            wrote on last edited by
            #5

            What gateway are you using ? Vera uses mqtt protocol to send messages to gateway ?

            1 Reply Last reply
            0
            • ferpandoF Offline
              ferpandoF Offline
              ferpando
              Hero Member
              wrote on last edited by
              #6

              My gateway is an arduino, and I don't think Vera uses mqqt protocol.

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


              16

              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