sillyfrog / aiopulse2

Apache License 2.0
8 stars 3 forks source link

My Q1.1 Short is being detected as a U25. #6

Closed DanielNagy closed 2 years ago

DanielNagy commented 2 years ago

I've paired a new Q1.1 Short to my pulse2 hub, and it is showing as a U25 rather than D24's as per my previous Q2.0 battery motors..

Factory reset the Q1.1, with the 4 long beeps, and done it again a few times.. Same result.

As a result, the Q1.1 in home assistant is a "AC Motor", and no Battery details are presented.

/confused

sillyfrog commented 2 years ago

Would you mind adding the following lines to your configuration.yaml (or similar):

logger:
  default: info
  logs:
    aiopulse2: debug

And then send through the output from the aiopulse2 lines.

I think this the first Q1.1 I have seen, the U type is assumed to be an AC motor, but should be easy to change.

If you were up for hacking some code, you could try and apply this diff (untested), this is in the aiopulse2 module

diff --git a/aiopulse2/devices.py b/aiopulse2/devices.py
index b269661..2f43ef2 100644
--- a/aiopulse2/devices.py
+++ b/aiopulse2/devices.py
@@ -476,7 +476,7 @@ class Roller:
     @property
     def has_battery(self):
         """True if device appears to be battery operated"""
-        return self.devicetypeshort == "D"
+        return self.devicetypeshort in ("D", "U")

     @property
     def moving(self):

On my HASS docker container, it's stored at: /usr/local/lib/python3.9/site-packages/aiopulse2

DanielNagy commented 2 years ago

This is what the logs show - repeats every few seconds.

The Q1.1 Shorty is C8X. The rest are Q2.0's.

2021-12-10 19:57:09 DEBUG (MainThread) [aiopulse2.devices] Got payload: {'hubId': '1031194', 'name': 'Altitude', 'mac': 'c8:2b:96:b5:4c:50', 'onlineLatest': 1639126630.124713, 'mfi': {'PD': 'a7809d94adde10a3', 'manufacturer': 'Rollease Acmeda', 'model': 'MT02-0401-067001'}, 'firmware': {'version': '1.2.0', 'RFversion': 'B10'}, 
'shades': 
{'F9H': {'is': True, 'ol': True, 'mp': 100, 'vo': '11.2D24', 'ls': 1, 'rs': -83}, 
'Q0T': {'is': True, 'ol': False, 'mp': 100, 'vo': '11.2D24', 'ls': 1, 'rs': -86}, 
'7YL': {'is': True, 'ol': True, 'mp': 100, 'vo': '11.9D24', 'ls': 1, 'rs': -87}, 
'9AM': {'is': True, 'ol': True, 'mp': 100, 'vo': '11.8D24', 'ls': 1, 'rs': -88}, 
'37Z': {'is': True, 'ol': True, 'mp': 100, 'vo': '12.2D24', 'ls': 1, 'rs': -89}, 
'1IF': {'is': True, 'ol': True, 'mp': 100, 'vo': '12.2D24', 'ls': 1, 'rs': -85}, 
'WPK': {'is': True, 'ol': True, 'mp': 100, 'vo': '12.2D24', 'ls': 1, 'rs': -81}, 
'9RP': {'is': True, 'ol': True, 'mp': 100, 'vo': '12.1D24', 'ls': 1, 'rs': -82}, 
'C8X': {'is': True, 'ol': True, 'mp': 100, 'vo': '8.3U25', 'ls': 1, 'rs': -85}}}

C8X also appears to have different VO of 8.3.. Assuming it might have 1 less battery/cell vs the Q2.0's. I did fully charge it earlier today

Side note - Just noticed Q0T is ol = False.. Offline? Do these units go offline whilst they are charging?

DanielNagy commented 2 years ago

With the little device.py hack. As expected, the battery voltage is confused given it might be a different battery count / total voltage

(Last one on the list - Study) image

DanielNagy commented 2 years ago

For reference. image

sillyfrog commented 2 years ago

Thanks for the info - as you say, that all makes sense. That should be pretty easy to sort out.

If you go to the battery entity in HA, and click on the battery and expand the attributes, do you get a battery voltage of 8.3?

This is what it looks like on mine:

image

Re the online/offline thing - I have found they often fall on and offline, but generally sending a command wakes them back up and gets them registered again. (I could run a regular ping in HA to keep it awake, but I think that would run the battery down).

DanielNagy commented 2 years ago

image

Sure can..

sillyfrog commented 2 years ago

I have pushed this all upstream now, and it's available in the latest HACS release and v0.6.1 of this repo.