Gasmeter accuracy

  • Hi Guys,
    I have a MS gas meter based on Water meter sketch measuring on BK-G4T gas meter. I am using Mader reed switch. During winter my readings were corresponding with analog scale on gas meter (I had 6-12m3/day - heating, Hot water and cooking). But now in summer (Cooking, hot water) I am getting 0,5 - 4m3/day but real consumption is only ca.0,3-0,5 m3 a day. Has anyone idea how to correct this or what causes the problem ? Is the magnet (on analog gas meter scale) stuck in some position causing it?

  • Mod

    do you have a debounce function? Maybe the slow moving magnet is triggering the reed switch multiple times when is at the limit of the magnetic field

  • No debounce function in sketch. Im just looking for some examples. Is the best (only) way to do it trough debounce.h library?
    Thanks gohan

  • Mod

    I am no expert on debouce, hopefully someone else will join the discussion. 😄

  • Helllo guys,

    Here is a small sketch (it may be version 1.5 of MySensors) that I've used for measuring Gas consumption.

    The key is between line 125 and 136 (I have removed my debug lines for more clarity and a useless statement):

      int input_state = digitalRead(DIGITAL_INPUT_SENSOR);
      if ((input_state == LOW)) {

    The gw.wait(30) acts as a debouncer.
    I hope this is clear.


  • Mod

    Using wait as suggested above is a simple and effective way to debounce. MySensors 1.x used gw.wait(), MySensors 2.x uses wait().

    Another method is used in the onPulse function in

    An example using the Bounce2 library is available at

  • Oh thanks everybody, I'll try it today.

Log in to reply

Suggested Topics

  • 87
  • 2
  • 8
  • 10
  • 6
  • 5