Announcement

Collapse
No announcement yet.

SDJ-Health Battery Device Comments

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    SDJ-Health Battery Device Comments

    Steve,

    I've got some Monoprice Z-wave multi-sensors that change to "Low Battery" instead of the battery level months before they actually stop working. During that time, the battery level in the tracking device says "0" which technically isn't true. I know it's nit-picking, but it would probably be better to say "Unknown" so something undetermined. I typically wait until they stop reporting because it can be 6 months or more of life.

    Not a big deal, it just jumps out at me when I see it in the device list. Thanks for a great plugin!


    #2
    Originally posted by mterry63 View Post
    Steve,

    I've got some Monoprice Z-wave multi-sensors that change to "Low Battery" instead of the battery level months before they actually stop working. During that time, the battery level in the tracking device says "0" which technically isn't true. I know it's nit-picking, but it would probably be better to say "Unknown" so something undetermined. I typically wait until they stop reporting because it can be 6 months or more of life.

    Not a big deal, it just jumps out at me when I see it in the device list. Thanks for a great plugin!
    I know what you mean, but I'll give you a bit of background to my thinking when I implemented this.

    Most Z-Wave battery devices represent Low Battery as a value of 255. Not many Z-Wave devices use this, and the battery level below which they jump to 255 varies between devices. For some you can configure the value below which they jump to 255. When a battery device value jumps to 255 the actual battery level is no longer known. It could be, for example, 20% but it could equally be 0%.

    The SDJ-Health monitoring device needs a value so that it can calculate such things as average discharge rates over time. Also as new batteries may not read 100% it uses a percentage jump in value to detect that batteries have been replaced.

    I debated using a notional value somewhere between 0 and 20% when the value jumps to 255 (Battery Low Warning) but decided in the end that it was best represented by 0%. The value and status of the actual battery child device/feature will still be 255 Battery Low Warning, it is only the monitoring child that will show it as 0%. When it receives a value of 255 the plug-in has to check that this represents a low battery by checking the device's status pairs, as some devices might actually show a real value of 255. Not all devices use a percentage scale.

    For device that run for a long time on Low Battery, I deselect Low Level alerts and let SDJ-Health alert me when the device misses a wake-up. It all depends on the particular device and how you want to be alerted.

    Now, your point is that whilst in this state, rather than showing the level as 0% in the monitoring child status string, it should say 'Unknown' or similar. I could do this whilst internally still considering it as 0% for calculations and alerts. However, there are complications because I need to distinguish between this state and devices that actually report a true reading of 0%. There are a huge range of battery devices for different technologies that report levels to different scales. That would need a flag adding, which would need to be stored, which would mean a change to the PED data, which involves upgrading existing devices. I do this when I add new features at major version changes but it is involved so I avoid unless really needed.

    I will give it some further thought but I'll probably decide it isn't worth the effort to change at the moment. Perhaps in the future if I'm adding a new feature that requires upgrading devices I'll incorporate this idea.

    Steve

    Comment


      #3
      Thanks, I understand the logic of needing a value for calculations. I pulled out the manual for the device (it's really a Vision Model ZP3111-5) and it says the low battery warning is triggered at 2.6V (It's a 3V 2-AAA device). No adjustment available. Seems like it spends a lot of time at 255.

      Thanks for the consideration!

      Comment


        #4
        Originally posted by mterry63 View Post
        Thanks, I understand the logic of needing a value for calculations. I pulled out the manual for the device (it's really a Vision Model ZP3111-5) and it says the low battery warning is triggered at 2.6V (It's a 3V 2-AAA device). No adjustment available. Seems like it spends a lot of time at 255.

        Thanks for the consideration!
        ok.

        Out of interest what battery value do they show before they go to 255?

        Comment


          #5
          Good question. I happened to have device history enabled on that device and it bounced between 20 and 10 for a few meaurements before going to 255.

          Comment


            #6
            Originally posted by mterry63 View Post
            Good question. I happened to have device history enabled on that device and it bounced between 20 and 10 for a few meaurements before going to 255.
            By device history I assume you mean the Device History plug-in?
            Are you aware that if you select the LogToDatabase option in SDJ-Health it will store all your battery readings and enable you to view the history? Of course, if you are using the Device History plug-in anyway, you might not want to record the battery levels in SDJ-Health as well. However, it also enables the plug-in to better calculate average discharge rates because it records the starting battery level rather than assuming it was 100%.

            If your device sent values of 20% and 10% before jumping to the low battery then I guess 0% is the correct value to replace 255, or at least as correct as the 20% and 10% values are. It sounds like it is jumping in 10% increments so the next one would have been 0.

            As a comparison here is some history from a Fibaro smoke sensor. This jumps in increments of 5% and when it would be 0% is when it goes to 255.

            Click image for larger version

Name:	History.JPG
Views:	203
Size:	62.7 KB
ID:	1467342
            FYI the reason it jumped from 0% to 20% on 02/04/21 was that I tried an old battery in it out of interest!

            Similarly here is the history from a Spirit radiator valve. Like the Fibaro it goes in 5% increments. It does go all the way to 0% but I usually replace the batteries at 5% because it sometimes looses some settings if you let the batteries go completely dead.

            Click image for larger version

Name:	History-2.JPG
Views:	137
Size:	62.9 KB
ID:	1467343

            Steve

            Comment


              #7
              Yes, you are correct the device history plugin. I am aware of the log to database function, but I have the devices I'm interested in in device history globally. The only reason I'm basically against the 0 value is that the device is still working and reporting, so 0 just seems illogical to me.

              Comment


                #8
                Originally posted by mterry63 View Post
                Yes, you are correct the device history plugin. I am aware of the log to database function, but I have the devices I'm interested in in device history globally. The only reason I'm basically against the 0 value is that the device is still working and reporting, so 0 just seems illogical to me.
                I take your point but that's really down to what the devices report. Some devices die when they are reporting 75%, some carry on working for some time after going down to 0%. The latter seems preferable to me. For most device I don't pay much attention to the battery levels and just wait for SDJ-Health to notify me that they have died. The only ones that I set alerts on level are ones that I want to catch before they die, like security devices.

                Thanks for your comments, it is always interesting to get other peoples views🙂

                Steve

                Comment

                Working...
                X