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. Humidity doesn't receive ACK, everything else works?

Humidity doesn't receive ACK, everything else works?

Scheduled Pinned Locked Moved Troubleshooting
5 Posts 3 Posters 514 Views 3 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.
  • Christoph BlankC Offline
    Christoph BlankC Offline
    Christoph Blank
    wrote on last edited by
    #1

    Hi there,

    I've got a weird behaviour, I'm using a BME280 and send humidity, temp, pressure via mysensors.
    The problem is that humidity never gets sent, so I tried to debug it and saw that it works if I send it twice,
    but one of the requests never receives an ACK.

    This only happens for humidity, the other measurements work fine.
    I tried adding a delay (100) but same result.

    Can anyone tell me how to fix this? Here is the relevant code:
    https://gist.github.com/solars/8339a486d21545a1efdce44f6b363023

    skywatchS 1 Reply Last reply
    0
    • Christoph BlankC Christoph Blank

      Hi there,

      I've got a weird behaviour, I'm using a BME280 and send humidity, temp, pressure via mysensors.
      The problem is that humidity never gets sent, so I tried to debug it and saw that it works if I send it twice,
      but one of the requests never receives an ACK.

      This only happens for humidity, the other measurements work fine.
      I tried adding a delay (100) but same result.

      Can anyone tell me how to fix this? Here is the relevant code:
      https://gist.github.com/solars/8339a486d21545a1efdce44f6b363023

      skywatchS Offline
      skywatchS Offline
      skywatch
      wrote on last edited by skywatch
      #2

      @christoph-blank You'll need to post the whole code as that doesn't tell us much.

      Maybe it's just that humidity isn't changing enough to send data? - You are only sending if it changes from the last reading.

      Sending requests in fast succession will likely not leave time for ack to be returned and so it gets lost in the message queue or is sent just as the node starts sending it's next message? - try putting wait(100); after each radio send.

      1 Reply Last reply
      0
      • Christoph BlankC Offline
        Christoph BlankC Offline
        Christoph Blank
        wrote on last edited by
        #3

        From my point of view this is the only relevant code, but I can post it later when I'm on the other machine again.
        The humidity changes, I get the same result if I leave out the condition.

        Also, from my understanding, as I'm using ACK, it already waits 70ms before continuing, so there should be enough time with the additional delay?
        (When using only one send())
        I'm surprised that it only happens for humidity.. never had this problem on the other readings.

        Is there any way I can wrap this in a while loop? I think that ACK timeouts after 70ms or so IIRC, so I'm not sure how I would actually wait until I
        receive the ACK, and e.g. try 3 times.

        mfalkviddM 1 Reply Last reply
        0
        • Christoph BlankC Christoph Blank

          From my point of view this is the only relevant code, but I can post it later when I'm on the other machine again.
          The humidity changes, I get the same result if I leave out the condition.

          Also, from my understanding, as I'm using ACK, it already waits 70ms before continuing, so there should be enough time with the additional delay?
          (When using only one send())
          I'm surprised that it only happens for humidity.. never had this problem on the other readings.

          Is there any way I can wrap this in a while loop? I think that ACK timeouts after 70ms or so IIRC, so I'm not sure how I would actually wait until I
          receive the ACK, and e.g. try 3 times.

          mfalkviddM Offline
          mfalkviddM Offline
          mfalkvidd
          Mod
          wrote on last edited by
          #4

          @christoph-blank since you are requesting that the destination node echos the message back to the sending node, your receive() function is highly relevant. How are you managing the echoed message?

          Christoph BlankC 1 Reply Last reply
          0
          • mfalkviddM mfalkvidd

            @christoph-blank since you are requesting that the destination node echos the message back to the sending node, your receive() function is highly relevant. How are you managing the echoed message?

            Christoph BlankC Offline
            Christoph BlankC Offline
            Christoph Blank
            wrote on last edited by
            #5

            sorry it took a bit - this is my current test: https://gist.github.com/solars/688a635f791c2e558a1ec57b67c9beb4
            it's stitched together from sources I have found, so I might not be doing it right.

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


            14

            Online

            11.7k

            Users

            11.2k

            Topics

            113.0k

            Posts


            Copyright 2019 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