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. battery level doesn't appear ?

battery level doesn't appear ?

Scheduled Pinned Locked Moved Development
25 Posts 6 Posters 6.0k Views 4 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.
  • flylowgofastF Offline
    flylowgofastF Offline
    flylowgofast
    wrote on last edited by
    #11

    hello,
    here is logs from gateway

    2;4;1;1;3;70;0;3;0;9;send: 0-0-2-2 s=4,c=1,t=3,pt=0,l=1,sg=0,st=fail:7
    Finished
    0;0;3;0;18;PINGFinished
    2;4;1;1;3;70;0;3;0;9;send: 0-0-2-2 s=4,c=1,t=3,pt=0,l=1,sg=0,st=fail:7
    0;0;3;0;9;read: 1-1-0 s=255,c=3,t=0,pt=1,l=1,sg=0:97
    0;0;3;0;9;send: 0-0-1-1 s=255,c=3,t=0,pt=1,l=1,sg=0,st=ok:97
    1;255;3;0;0;97
    Finished
    0;0;3;0;18;PING0;0;3;0;9;read: 65-65-0 s=255,c=3,t=0,pt=1,l=1,sg=0:99
    0;0;3;0;9;send: 0-0-65-65 s=255,c=3,t=0,pt=1,l=1,sg=0,st=fail:99
    65;255;3;0;0;99
    0;0;3;0;9;read: 1-1-0 s=255,c=3,t=0,pt=1,l=1,sg=0:97
    0;0;3;0;9;send: 0-0-1-1 s=255,c=3,t=0,pt=1,l=1,sg=0,st=ok:97
    1;255;3;0;0;97
    Finished
    

    Is there a documentation to understand better ?

    thanks

    AWIA 1 Reply Last reply
    0
    • F Offline
      F Offline
      flopp
      wrote on last edited by
      #12

      Can you post your sketch here?

      1 Reply Last reply
      0
      • F Offline
        F Offline
        flopp
        wrote on last edited by flopp
        #13

        This is from my GW

        0;0;3;0;18;PING0;0;3;0;9;read: 12-12-0 s=255,c=3,t=0,pt=1,l=1,sg=0:98
        12;255;3;0;0;98
        0;0;3;0;9;read: 12-12-0 s=1,c=1,t=38,pt=7,l=5,sg=0:2.979
        12;1;1;0;38;2.979
        0;0;3;0;9;read: 12-12-0 s=0,c=1,t=23,pt=3,l=2,sg=0:66
        12;0;1;0;23;66
        Finished
        
        

        98% battery
        2.979 voltage
        66 lux

        1 Reply Last reply
        0
        • F Offline
          F Offline
          flopp
          wrote on last edited by
          #14

          You can also restart your Node and then it will send all data again like, Sketchname, version and also all childs

          1 Reply Last reply
          0
          • flylowgofastF Offline
            flylowgofastF Offline
            flylowgofast
            wrote on last edited by
            #15

            my loop(){}

            // the loop routine runs over and over again forever:
            void loop() {
            
              // Process incoming messages (like config from server)
              gw.process();  
            
              //---------------Lecture des ouvertures de porte------------------
              doorOpenOffState = digitalRead(HALLOFFICEDOOR); // lecture à chaque cycle (urgence)
              if (doorOpenOffState != doorOpenOffChange){
                gw.send(msgDoorOffice.setSensor(OFFICEDOOR).set(doorOpenOffState));
                doorOpenOffChange = doorOpenOffState;
              }
            
              doorOpenBedState = digitalRead(HALLBEDROOMDOOR); // lecture à chaque cycle (urgence)
              if (doorOpenBedState != doorOpenBedChange){
                gw.send(msgDoorBedroom.setSensor(BEDROOMDOOR).set(doorOpenBedState));
                doorOpenBedChange = doorOpenBedState;
              }
              
              if (digitalRead(ECLEXT) != oldInterExt){
                oldInterExt = !oldInterExt;
                eclState = !eclState;
                gw.send(msgLightSwitch.set(eclState));
              }
            
              //---------------Envoi du niveau de batterie !! pour rester eveillé------------------
              /*if ((millis() - myTime) > 10000) { // toutes les dix secondes
                myTime = millis();
                gw.sendBatteryLevel(97,1);
              } else {
                if ((millis() - myTime) < 0) {
                  myTime = millis();
                }
              }*/
              gw.sendBatteryLevel(97,1);
            
            // ---------------Traitement volet 1-----------------
              analogUpV1 = analogRead(UPV1);
              if ((analogUpV1 <25) && !manOnV1) { //analogUp proche de zéro et ancienne valeur niveau haut (en l'air)
                digitalWrite(TRIAC5, HIGH);
                digitalWrite(TRIAC2, LOW);
                triacTempoV1 = millis();
                triacManPriorityV1 = true;
                manOnV1 = true;
                memoStopV1 = false;
              } else {
                analogDownV1 = analogRead(DOWNV1);
                if ((analogDownV1 <25) && !manOnV1) { //proche de zéro
                  digitalWrite(TRIAC5, LOW);
                  digitalWrite(TRIAC2, HIGH);
                  triacTempoV1 = millis();
                  triacManPriorityV1 = true;
                  manOnV1 = true;
                  memoStopV1 = false;
                } else {
                  if (analogUpV1 > 800 && analogDownV1 > 800 && !memoStopV1){ // les deux fils en l'air
                    digitalWrite(TRIAC5, LOW);
                    digitalWrite(TRIAC2, LOW);
                    triacManPriorityV1 = false;
                    manOnV1 = false;
                    memoStopV1 = true;
                  } else {
                    if (!triacManPriorityV1){
                      if (shutterOff1State && shutterOff2State) {
                        shutterOff1State = false;
                        shutterOff2State = false;
                        digitalWrite(TRIAC5, LOW);
                        digitalWrite(TRIAC2, LOW);
                      } else {
                        if (shutterOff1State) {
                          shutterOff1State = false;
                          digitalWrite(TRIAC5, HIGH);
                          digitalWrite(TRIAC2, LOW);
                          triacTempoV1 = millis();
                        } else {
                          if (shutterOff2State) {
                            shutterOff2State = false;
                            digitalWrite(TRIAC5, LOW);
                            digitalWrite(TRIAC2, HIGH);
                            triacTempoV1 = millis();
                          }
                        }
                      }
                    }
                  }
                }
              }
              if (((triacTempoV1 + TEMPOOPENV1) < millis())) {
                digitalWrite(TRIAC5, LOW);
                digitalWrite(TRIAC2, LOW);
                triacManPriorityV1 = false;
              }
            
            // --------------------------Traitement volet 2------------------------
              analogUpV2 = analogRead(UPV2);
              if ((analogUpV2 <25) && !manOnV2) { //analogUp proche de zéro et ancienne valeur niveau haut (en l'air)
                digitalWrite(TRIAC3, HIGH);
                digitalWrite(TRIAC4, LOW);
                triacTempoV2 = millis();
                triacManPriorityV2 = true;
                manOnV2 = true;
                memoStopV2 = false;
              } else {
                analogDownV2 = analogRead(DOWNV2);
                if ((analogDownV2 <25) && !manOnV2) { //proche de zéro
                  digitalWrite(TRIAC3, LOW);
                  digitalWrite(TRIAC4, HIGH);      
                  triacTempoV2 = millis();
                  triacManPriorityV2 = true;
                  manOnV2 = true;
                  memoStopV2 = false;
                } else {
                  if (analogUpV2 > 800 && analogDownV2 > 800 && !memoStopV2){ // les deux fils en l'air
                    digitalWrite(TRIAC3, LOW);
                    digitalWrite(TRIAC4, LOW);        
                    //triac3 = false;
                    //triac4 = false;
                    triacManPriorityV2 = false;
                    manOnV2 = false;
                    memoStopV2 = true;
                  } else {
                    if (!triacManPriorityV2){
                      if (shutterBed1State && shutterBed2State) {
                        shutterBed1State = false;
                        shutterBed2State = false;
                        digitalWrite(TRIAC3, LOW);
                        digitalWrite(TRIAC4, LOW);            
                      } else {
                        if (shutterBed1State) {
                          shutterBed1State = false;
                          digitalWrite(TRIAC3, HIGH);
                          digitalWrite(TRIAC4, LOW);              
                          triacTempoV2 = millis();
                        } else {
                          if (shutterBed2State) {
                            shutterBed2State = false;
                            digitalWrite(TRIAC3, LOW);
                            digitalWrite(TRIAC4, HIGH);                
                            triacTempoV2 = millis();
                          }
                        }
                      }
                    }
                  }
                }
              }
              if (((triacTempoV2 + TEMPOOPENV2) < millis())) {
                digitalWrite(TRIAC3, LOW);
                digitalWrite(TRIAC4, LOW);      
                triacManPriorityV2 = false;
              }
            }
            
            F 1 Reply Last reply
            0
            • flylowgofastF flylowgofast

              my loop(){}

              // the loop routine runs over and over again forever:
              void loop() {
              
                // Process incoming messages (like config from server)
                gw.process();  
              
                //---------------Lecture des ouvertures de porte------------------
                doorOpenOffState = digitalRead(HALLOFFICEDOOR); // lecture à chaque cycle (urgence)
                if (doorOpenOffState != doorOpenOffChange){
                  gw.send(msgDoorOffice.setSensor(OFFICEDOOR).set(doorOpenOffState));
                  doorOpenOffChange = doorOpenOffState;
                }
              
                doorOpenBedState = digitalRead(HALLBEDROOMDOOR); // lecture à chaque cycle (urgence)
                if (doorOpenBedState != doorOpenBedChange){
                  gw.send(msgDoorBedroom.setSensor(BEDROOMDOOR).set(doorOpenBedState));
                  doorOpenBedChange = doorOpenBedState;
                }
                
                if (digitalRead(ECLEXT) != oldInterExt){
                  oldInterExt = !oldInterExt;
                  eclState = !eclState;
                  gw.send(msgLightSwitch.set(eclState));
                }
              
                //---------------Envoi du niveau de batterie !! pour rester eveillé------------------
                /*if ((millis() - myTime) > 10000) { // toutes les dix secondes
                  myTime = millis();
                  gw.sendBatteryLevel(97,1);
                } else {
                  if ((millis() - myTime) < 0) {
                    myTime = millis();
                  }
                }*/
                gw.sendBatteryLevel(97,1);
              
              // ---------------Traitement volet 1-----------------
                analogUpV1 = analogRead(UPV1);
                if ((analogUpV1 <25) && !manOnV1) { //analogUp proche de zéro et ancienne valeur niveau haut (en l'air)
                  digitalWrite(TRIAC5, HIGH);
                  digitalWrite(TRIAC2, LOW);
                  triacTempoV1 = millis();
                  triacManPriorityV1 = true;
                  manOnV1 = true;
                  memoStopV1 = false;
                } else {
                  analogDownV1 = analogRead(DOWNV1);
                  if ((analogDownV1 <25) && !manOnV1) { //proche de zéro
                    digitalWrite(TRIAC5, LOW);
                    digitalWrite(TRIAC2, HIGH);
                    triacTempoV1 = millis();
                    triacManPriorityV1 = true;
                    manOnV1 = true;
                    memoStopV1 = false;
                  } else {
                    if (analogUpV1 > 800 && analogDownV1 > 800 && !memoStopV1){ // les deux fils en l'air
                      digitalWrite(TRIAC5, LOW);
                      digitalWrite(TRIAC2, LOW);
                      triacManPriorityV1 = false;
                      manOnV1 = false;
                      memoStopV1 = true;
                    } else {
                      if (!triacManPriorityV1){
                        if (shutterOff1State && shutterOff2State) {
                          shutterOff1State = false;
                          shutterOff2State = false;
                          digitalWrite(TRIAC5, LOW);
                          digitalWrite(TRIAC2, LOW);
                        } else {
                          if (shutterOff1State) {
                            shutterOff1State = false;
                            digitalWrite(TRIAC5, HIGH);
                            digitalWrite(TRIAC2, LOW);
                            triacTempoV1 = millis();
                          } else {
                            if (shutterOff2State) {
                              shutterOff2State = false;
                              digitalWrite(TRIAC5, LOW);
                              digitalWrite(TRIAC2, HIGH);
                              triacTempoV1 = millis();
                            }
                          }
                        }
                      }
                    }
                  }
                }
                if (((triacTempoV1 + TEMPOOPENV1) < millis())) {
                  digitalWrite(TRIAC5, LOW);
                  digitalWrite(TRIAC2, LOW);
                  triacManPriorityV1 = false;
                }
              
              // --------------------------Traitement volet 2------------------------
                analogUpV2 = analogRead(UPV2);
                if ((analogUpV2 <25) && !manOnV2) { //analogUp proche de zéro et ancienne valeur niveau haut (en l'air)
                  digitalWrite(TRIAC3, HIGH);
                  digitalWrite(TRIAC4, LOW);
                  triacTempoV2 = millis();
                  triacManPriorityV2 = true;
                  manOnV2 = true;
                  memoStopV2 = false;
                } else {
                  analogDownV2 = analogRead(DOWNV2);
                  if ((analogDownV2 <25) && !manOnV2) { //proche de zéro
                    digitalWrite(TRIAC3, LOW);
                    digitalWrite(TRIAC4, HIGH);      
                    triacTempoV2 = millis();
                    triacManPriorityV2 = true;
                    manOnV2 = true;
                    memoStopV2 = false;
                  } else {
                    if (analogUpV2 > 800 && analogDownV2 > 800 && !memoStopV2){ // les deux fils en l'air
                      digitalWrite(TRIAC3, LOW);
                      digitalWrite(TRIAC4, LOW);        
                      //triac3 = false;
                      //triac4 = false;
                      triacManPriorityV2 = false;
                      manOnV2 = false;
                      memoStopV2 = true;
                    } else {
                      if (!triacManPriorityV2){
                        if (shutterBed1State && shutterBed2State) {
                          shutterBed1State = false;
                          shutterBed2State = false;
                          digitalWrite(TRIAC3, LOW);
                          digitalWrite(TRIAC4, LOW);            
                        } else {
                          if (shutterBed1State) {
                            shutterBed1State = false;
                            digitalWrite(TRIAC3, HIGH);
                            digitalWrite(TRIAC4, LOW);              
                            triacTempoV2 = millis();
                          } else {
                            if (shutterBed2State) {
                              shutterBed2State = false;
                              digitalWrite(TRIAC3, LOW);
                              digitalWrite(TRIAC4, HIGH);                
                              triacTempoV2 = millis();
                            }
                          }
                        }
                      }
                    }
                  }
                }
                if (((triacTempoV2 + TEMPOOPENV2) < millis())) {
                  digitalWrite(TRIAC3, LOW);
                  digitalWrite(TRIAC4, LOW);      
                  triacManPriorityV2 = false;
                }
              }
              
              F Offline
              F Offline
              flopp
              wrote on last edited by
              #16

              @flylowgofast
              Look ok

              1 Reply Last reply
              0
              • flylowgofastF flylowgofast

                hello,
                here is logs from gateway

                2;4;1;1;3;70;0;3;0;9;send: 0-0-2-2 s=4,c=1,t=3,pt=0,l=1,sg=0,st=fail:7
                Finished
                0;0;3;0;18;PINGFinished
                2;4;1;1;3;70;0;3;0;9;send: 0-0-2-2 s=4,c=1,t=3,pt=0,l=1,sg=0,st=fail:7
                0;0;3;0;9;read: 1-1-0 s=255,c=3,t=0,pt=1,l=1,sg=0:97
                0;0;3;0;9;send: 0-0-1-1 s=255,c=3,t=0,pt=1,l=1,sg=0,st=ok:97
                1;255;3;0;0;97
                Finished
                0;0;3;0;18;PING0;0;3;0;9;read: 65-65-0 s=255,c=3,t=0,pt=1,l=1,sg=0:99
                0;0;3;0;9;send: 0-0-65-65 s=255,c=3,t=0,pt=1,l=1,sg=0,st=fail:99
                65;255;3;0;0;99
                0;0;3;0;9;read: 1-1-0 s=255,c=3,t=0,pt=1,l=1,sg=0:97
                0;0;3;0;9;send: 0-0-1-1 s=255,c=3,t=0,pt=1,l=1,sg=0,st=ok:97
                1;255;3;0;0;97
                Finished
                

                Is there a documentation to understand better ?

                thanks

                AWIA Offline
                AWIA Offline
                AWI
                Hero Member
                wrote on last edited by
                #17

                @flylowgofast for information on the logs take a look at the debug topic

                1 Reply Last reply
                0
                • flylowgofastF Offline
                  flylowgofastF Offline
                  flylowgofast
                  wrote on last edited by
                  #18

                  My real problem is not to send battery level. I try to do that because after 24 or 48 hours my node stop sending messages . So, I hoped that was a way to make it awake !

                  AWIA F 2 Replies Last reply
                  0
                  • flylowgofastF flylowgofast

                    My real problem is not to send battery level. I try to do that because after 24 or 48 hours my node stop sending messages . So, I hoped that was a way to make it awake !

                    AWIA Offline
                    AWIA Offline
                    AWI
                    Hero Member
                    wrote on last edited by
                    #19

                    @flylowgofast From what I read from your sketch you seem to do some high voltage / current switching. Especially the radio doesn't like all kinds of electronic disturbances (emc etc.) To avoid lockups you need to pay special attention/separate power supplies (if you haven't done already).

                    1 Reply Last reply
                    0
                    • flylowgofastF Offline
                      flylowgofastF Offline
                      flylowgofast
                      wrote on last edited by
                      #20

                      Hello AWI,

                      Thanks for your reply, yes my node trigs 5 triacs. I use snubber, regulator, capacitor. And ond the other hand, all commands to the node work properly ? just battery level doesn't work and after several hours NRF24L01 stop to work.
                      I would like to reset NRF24L01 but with MySensors we don't have direct access to it anymore. Perhaps there is a way to reset the sketch globaly ?

                      thanks for your help

                      1 Reply Last reply
                      0
                      • flylowgofastF flylowgofast

                        My real problem is not to send battery level. I try to do that because after 24 or 48 hours my node stop sending messages . So, I hoped that was a way to make it awake !

                        F Offline
                        F Offline
                        flopp
                        wrote on last edited by flopp
                        #21

                        @flylowgofast said:

                        My real problem is not to send battery level. I try to do that because after 24 or 48 hours my node stop sending messages . So, I hoped that was a way to make it awake !

                        It would have been nice if you had wrote this in your first post.:disappointed:
                        So everyone could focus on the main problem

                        1 Reply Last reply
                        0
                        • flylowgofastF Offline
                          flylowgofastF Offline
                          flylowgofast
                          wrote on last edited by
                          #22

                          Hello @flopp ,

                          Sorry I was myself focus on this second problem that's interesting to solve too ?
                          At the end twice aren't solve ! :disappointed:

                          1 Reply Last reply
                          0
                          • flylowgofastF Offline
                            flylowgofastF Offline
                            flylowgofast
                            wrote on last edited by
                            #23

                            Hello all,

                            At the end, I choose to do a software reset every 24 hours. This solution is very bad for me but it works !!

                            bye

                            1 Reply Last reply
                            0
                            • sundberg84S Offline
                              sundberg84S Offline
                              sundberg84
                              Hardware Contributor
                              wrote on last edited by
                              #24

                              @flylowgofast One simple thing can be to move the radio away a bit and see if that helps. Its as AWI said probably interferance power-radio.

                              Controller: Proxmox VM - Home Assistant
                              MySensors GW: Arduino Uno - W5100 Ethernet, Gw Shield Nrf24l01+ 2,4Ghz
                              MySensors GW: Arduino Uno - Gw Shield RFM69, 433mhz
                              RFLink GW - Arduino Mega + RFLink Shield, 433mhz

                              flylowgofastF 1 Reply Last reply
                              0
                              • sundberg84S sundberg84

                                @flylowgofast One simple thing can be to move the radio away a bit and see if that helps. Its as AWI said probably interferance power-radio.

                                flylowgofastF Offline
                                flylowgofastF Offline
                                flylowgofast
                                wrote on last edited by
                                #25

                                Hello @sundberg84,
                                I already considered this idea but my node have been running perfectly for two days before failed. So I think, power consideration are not the problem. I can trigg on and off my shutters many and many times without problem.

                                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