-
Notifications
You must be signed in to change notification settings - Fork 639
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Plaid humidity sensor do not report battery #366
Comments
I needed to reactivate this bug |
|
Device info:
|
Seems like there's already device quirk for it and battery percent remaining attribute was configured successfuly for the reporting. |
Months |
Do you have a second zigbee stick for this isolated environment? And is it venv, hassio or docker? in other words how easily can you modify the source files to test a few things. I'm concerned that binding table is limited on this device, as it keeps throwing
in one log, and in the other
on different clusters, depending on configuration order. |
Yes, I have a second ZigBee stick running hass on a developer environment using windows Linux subststem so I can tweak very easyly. |
I have a plaid sensor not yet in production and a test box (the one with the zzh stick) I can mess with. this sensor reports the battery voltage on the mains attribute for some reason. |
@tube0013 can you provide full debug logs of a such report? |
sure, let me move i'll move it over to my test box. my memory was the voltage was not sent very often even when triggering it. |
How do I activate "full debug logs"? |
I had issues getting this pair on my test box oh well I'll deal with those another day.... put it back on my prod box had to pull the battery and re-insert to get a voltage. this is immediately after re-inserting the battery:
|
Impressive. Kudos to their support for at least trying to be helpful |
they mentioned that they gotten another ticket from a HA user at the same time, so demand was showing lol. |
|
What does it mean that it uses the "Power endpoint with Main"? |
what you are referring to? |
In the conversation with Plaid support, the specialist said: "it is using the Mains attribute within the Power Cluster" |
It basically means the sensor reports its battery voltage on the zigbee attribute meant for mains voltage in the zigbee spec. In the zigbee spec there are defined clusters and attributes, when device follow them everything should just work, however some device like this one deviate from the spec in this case sending the battery voltage on the mains voltage attribute. |
Ahh, and the mains voltage attribute is meant for NON battery operated devices? |
yes |
How do I verify/test this in my dev environment? |
you can try and request the mains voltage attribute from power cluster in the ZHA config panel. I've had mixed results doing this, as the device does not send the voltage very often. you have to wake up the device when you query it, I do this by hitting it with the magnet, as I hit the button to request it. |
https://zigbeealliance.org/wp-content/uploads/2019/12/07-5123-06-zigbee-cluster-library-specification.pdf PDF page 110 There's already quirk which translates mains voltage into battery ones, although IIRC regular battery voltage is in 100mV (0.1V) and plaid seems to report in mV, so it should divide the actual value by @tube0013 do you get battery voltage? |
not reliably, I got it above after pulling and re-inserting the battery. In the past (my original issue for this) I was able to query it but I have yet been able to do that again. It is super "shy" about sending voltage. |
Does the current quirk take into count the 3volt battery as well, as I don't think battery size is sent |
@ocalvo you can test it by requesting the Temperature or Humidity via their clusters, it will be much more responsive for those, wake it and request at the same time. |
that's already homeassistant core. so the report or response to attribute read should have been prior to that |
Here are all the reports from the device at address 0x9a7b:
|
When asking for the battery voltage and waking up the device with the magnet:
|
Per logs, reading battery voltage return 0, essentially what is seen in the state. |
|
by give it more time i mean like 24 hours. if it reports it, it won't report often |
There are different versions, I have the gen3 sensor which has the magnet sensor on the top. I believe the gen2 sensor has it on the side. As described here https://support.spruceirrigation.com/knowledge-base/re-join-spruce-sensor-to-the-network/ |
as it was mentioned: run debug logs for 24 hours. Then filter by BTW, did you try to get |
yes don't get anything when I request that attribute |
Do you get |
I have one Gen1 and 2 Gen3. The Gen1 and Gen3 are in "production". |
I'm running of solutions. Configured attribute reporting for the mains_voltage attribute, but it still won't report it. It was reporting the batter_voltage regularly though, the only problem it was reporting 0V |
I can set pull in the changed quirk tonight and test. Did you pick one of these up? I've found the battery reporting to be non-existent sometimes and yet other times it has reported it frequently. |
yep, got one. need to automate watering. This substitutes requests for |
Is there anything I have to do to update the files other that copy init.py and soil.py ? |
I delete the py_cache folders and then update the files, then restart ha. I run supervised and use the portainer addon to get a command line inside the ha container to make the changes. |
Remove and added the device from the network:
|
actually I've got
With the new quirk in, you would need to reconfigure device, so it configures attribute reporting on |
@Adminiuga is this resolved? Good to close? |
Yes, seems to work. |
Describe the bug
Spruce humidity sensor Gen1 and Gen3 correctly report humidity and temperature but do not report battery correctly.
The reported battery is always 0.
Gen3 model: PLAID SYSTEMS PS-SPRZMS-SLP3
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Battery reported should not be 0
Additional context
The text was updated successfully, but these errors were encountered: