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. How to get battery volt / percentage message send to mqtt?

How to get battery volt / percentage message send to mqtt?

Scheduled Pinned Locked Moved Development
15 Posts 3 Posters 1.8k 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.
  • gohanG Offline
    gohanG Offline
    gohan
    Mod
    wrote on last edited by
    #2

    @mr_sensor said in How to get battery volt / percentage message send to mqtt?:

    int oldBatteryPcnt = 0;

    I think this needs to be a global variable, not inside loop, otherwise you set it to zero on each loop. I don't have my code with me at the moment to compare, but I think there is an error on the voltage and percentage calculation

    YveauxY 1 Reply Last reply
    0
    • gohanG gohan

      @mr_sensor said in How to get battery volt / percentage message send to mqtt?:

      int oldBatteryPcnt = 0;

      I think this needs to be a global variable, not inside loop, otherwise you set it to zero on each loop. I don't have my code with me at the moment to compare, but I think there is an error on the voltage and percentage calculation

      YveauxY Offline
      YveauxY Offline
      Yveaux
      Mod
      wrote on last edited by
      #3

      @gohan said in How to get battery volt / percentage message send to mqtt?:

      I think this needs to be a global variable

      Or prefix it with the 'static' keyword to indicate its value should persist over multiple runs.

      http://yveaux.blogspot.nl

      M 1 Reply Last reply
      0
      • YveauxY Yveaux

        @gohan said in How to get battery volt / percentage message send to mqtt?:

        I think this needs to be a global variable

        Or prefix it with the 'static' keyword to indicate its value should persist over multiple runs.

        M Offline
        M Offline
        Mr_sensor
        wrote on last edited by
        #4

        @yveaux changed the position of int oldBatteryPcnt = 0; outside of the loop and added the static prefix static int oldBatteryPcnt = 0;
        Still not giving me the right result the first message seem ok but than it only has 0 ?

        Child ID 2Battery Voltage: 0.43 V
        Battery Percent: 12 %
        2289 TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=0,pt=1,l=1,sg=0,ft=0,st=OK:12
        2297 MCO:SLP:MS=60000,SMS=0,I1=255,M1=255,I2=255,M2=255
        2304 TSF:TDI:TSL
        2306 MCO:SLP:WUP=-1
        2308 TSF:TRI:TSB
        2363 TSF:MSG:SEND,2-2-0-0,s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=OK:19.6
        T: 19.56
        2396 TSF:MSG:SEND,2-2-0-0,s=0,c=1,t=1,pt=7,l=5,sg=0,ft=0,st=OK:39.7
        H: 39.69
        0
        Child ID 2Battery Voltage: 0.00 V
        Battery Percent: 0 %
        2408 TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=0,pt=1,l=1,sg=0,ft=0,st=OK:0
        2414 MCO:SLP:MS=60000,SMS=0,I1=255,M1=255,I2=255,M2=255
        2420 TSF:TDI:TSL
        2422 MCO:SLP:WUP=-1
        2426 TSF:TRI:TSB
        2482 TSF:MSG:SEND,2-2-0-0,s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=OK:19.6
        T: 19.57
        2512 TSF:MSG:SEND,2-2-0-0,s=0,c=1,t=1,pt=7,l=5,sg=0,ft=0,st=OK:39.5
        H: 39.52
        0
        Child ID 2Battery Voltage: 0.00 V
        Battery Percent: 0 %
        2523 MCO:SLP:MS=60000,SMS=0,I1=255,M1=255,I2=255,M2=255
        2531 TSF:TDI:TSL```
        1 Reply Last reply
        0
        • gohanG Offline
          gohanG Offline
          gohan
          Mod
          wrote on last edited by
          #5

          it looks as the analogread keeps returning zero

          M 1 Reply Last reply
          0
          • gohanG gohan

            it looks as the analogread keeps returning zero

            M Offline
            M Offline
            Mr_sensor
            wrote on last edited by
            #6

            @gohan Tried to find out what causing that but can not figure it out. I'm bot a real coderer so its trial and error :) and trying to understand form other sketches / posts. Any idea where to look for?

            1 Reply Last reply
            0
            • gohanG Offline
              gohanG Offline
              gohan
              Mod
              wrote on last edited by
              #7

              try adding a delay(500) before the analogread

              M 1 Reply Last reply
              0
              • gohanG gohan

                try adding a delay(500) before the analogread

                M Offline
                M Offline
                Mr_sensor
                wrote on last edited by
                #8

                @gohan said in How to get battery volt / percentage message send to mqtt?:

                delay(500)

                Hi, tried that (already tried it with wait). Now I added it here:

                delay(500);
                    int sensorValue = analogRead(BATTERY_SENSE_PIN);
                

                Also tried it here:

                 if (oldBatteryPcnt != batteryPcnt) {
                        // Power up radio after sleep
                        delay(500);       
                        sendBatteryLevel(batteryPcnt);
                        oldBatteryPcnt = batteryPcnt;
                    } 
                                                                                                                                                                                      
                  sleep(SLEEP_TIME); //sleep a bit  ```
                
                Both did not help still ending up with 0 . 
                So what should be the best place the right place to put the delay?
                1 Reply Last reply
                0
                • gohanG Offline
                  gohanG Offline
                  gohan
                  Mod
                  wrote on last edited by
                  #9

                  the second one is useless. It is odd that it misses the analog reads. What AVR boards version are you using?

                  M 1 Reply Last reply
                  0
                  • gohanG gohan

                    the second one is useless. It is odd that it misses the analog reads. What AVR boards version are you using?

                    M Offline
                    M Offline
                    Mr_sensor
                    wrote on last edited by
                    #10

                    @gohan I'm using the EasyPCB board with an arduino pro mini 3,3v

                    1 Reply Last reply
                    0
                    • gohanG Offline
                      gohanG Offline
                      gohan
                      Mod
                      wrote on last edited by
                      #11

                      I mean in Arduino IDE library manager

                      M 1 Reply Last reply
                      0
                      • gohanG gohan

                        I mean in Arduino IDE library manager

                        M Offline
                        M Offline
                        Mr_sensor
                        wrote on last edited by
                        #12

                        @gohan

                        Arduino Pro or Pro Mini
                        Programmer AVR ISP
                        ATmega328P (3,3v 8mhz)

                        M 1 Reply Last reply
                        0
                        • M Mr_sensor

                          @gohan

                          Arduino Pro or Pro Mini
                          Programmer AVR ISP
                          ATmega328P (3,3v 8mhz)

                          M Offline
                          M Offline
                          Mr_sensor
                          wrote on last edited by
                          #13

                          Still not getting it working! Any thoughts on this?

                          1 Reply Last reply
                          0
                          • gohanG Offline
                            gohanG Offline
                            gohan
                            Mod
                            wrote on last edited by
                            #14

                            Try a simple example sketch that reads the analog pin just to make sure the hardware is OK, or try another pro mini

                            M 1 Reply Last reply
                            0
                            • gohanG gohan

                              Try a simple example sketch that reads the analog pin just to make sure the hardware is OK, or try another pro mini

                              M Offline
                              M Offline
                              Mr_sensor
                              wrote on last edited by
                              #15

                              @gohan Ok will try that see if I made a fault somewhere

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


                              24

                              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