sillyfrog / aiopulse2 Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
I’ve got six blinds with hardwired rollers (no battery), but with varying firmware levels. Rollers with firmware version 12 and 22 work great!
Version 10 has a few deficiencies that aren’t handled well in aiopulse2:
!222r?;
always reports !222Esh,<signal>;
)Sanitised debug log attached. ha-aiopulse2.log
I have amended the log with comments for when I have initiated various actions for a blind that is reporting as Offline (ORS
).
Note: I have edited devices.py:298
to always return True, in order to be able to send the commands and capture the results in the attached (otherwise I would not be able to interact with this blind).
On startup, aiopulse2 occasionally throws the error:
2021-02-24 13:40:06 WARNING (MainThread) [aiopulse2.devices] Websocket Connection closed: '>' not supported between instances of 'NoneType' and 'int'
Possibly due to an unhandled/unexpected data type or response. This seems to occur while enumerating the roller names.
As a result, those entities do not report their Model or Firmware version in HA.
Log attached.
ha-aiopulse2_0.6.0.log
Previously i raised #6 as the Q1.1 short motor I purchased, was showing as AC type instead of battery, which was rectified. I've since got a second Q1.1 short motor.
However, I note, in Home assistant, the "Position" adjuster, always shows 50% for these, irrelevant of actual blind position.
ie,
The icon state is Yellow indicating open blind
When you click for more details, the position slider is 50%. The blind is actual 100% open. But, it doesn't matter what position i set the actual blind to, the position slider is always reporting 50%
This only happens with the 2x Q1.1 Short motors that I have. The other Q2 motors i have behaving as expected, where the position slider shows true indication of the blind position.
It is also worth noting that the Device view is showing "< unknown >", and no battery. (This is new as previously based on issue 6, this was fixed. However i had spoken to Acmeda about a homekit issue i had, where they did a remote firmware update of my hub. I feel this is when this changed, as within the Pulse2 app itself, the "Power Module Type" is also not populated for both these Q1.1 motors.
The Q1.1 short motors are PHX and 8B9.
Interesting the vo "D" is lower case vs the Q2's.
Given that this was reporting as U25 previously(before the 1.4.0 firmware pulse 2 hub update), in both the debug log, as well as the Pulse2 app, it seems the 1.4.0 Pulse 2 hub firmware is a little under baked.
Would this "< unknown >" be the reason why positioning state is not correctly gathered?
"I63":{
"is":true,
"ol":true,
"mp":100,
"vo":"11.0D24",
"ls":1,
"rs":-76
},
"8B9":{
"is":true,
"ol":true,
"mp":0,
"ta":0,
"vo":"8.1d25",
"ls":1,
"rs":-88
},
"34N":{
"is":true,
"ol":true,
"mp":100,
"vo":"11.5D24",
"ls":1,
"rs":-77
},
"0GC":{
"is":true,
"ol":true,
"mp":100,
"vo":"11.5D24",
"ls":1,
"rs":-83
},
"RLR":{
"is":true,
"ol":true,
"mp":100,
"vo":"11.5D24",
"ls":1,
"rs":-77
},
"X8Y":{
"is":true,
"ol":true,
"mp":100,
"vo":"11.4D24",
"ls":1,
"rs":-78
},
"JTJ":{
"is":true,
"ol":true,
"mp":100,
"vo":"11.3D24",
"ls":1,
"rs":-86
},
"B5G":{
"is":true,
"ol":true,
"mp":100,
"vo":"11.2D24",
"ls":1,
"rs":-76
},
"1LS":{
"is":true,
"ol":true,
"mp":100,
"vo":"11.4D24",
"ls":1,
"rs":-84
},
"W0M":{
"is":true,
"ol":true,
"mp":100,
"vo":"11.3D24",
"ls":1,
"rs":-81
},
"JBT":{
"is":true,
"ol":true,
"mp":100,
"vo":"11.3D24",
"ls":1,
"rs":-80
},
"9SM":{
"is":true,
"ol":false,
"mp":100,
"vo":"11.1D24",
"ls":1,
"rs":-73
},
"PHX":{
"is":true,
"ol":true,
"mp":40,
"ta":0,
"vo":"8.0d20",
"ls":1,
"rs":-102
},
"BYJ":{
"is":true,
"ol":true,
"mp":40,
"vo":"11.9D20",
"ls":1,
"rs":-77
}
}```
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
Are you aware of this tool? I've only just found it.
https://www.automateshades.com/au/pulse-linq-tool/
Seems like we can use this to setup our blinds without using the mobile app. ie, pairing blinds as well. as well as limit setting.
But of interest to us, there's a raw hub responses window showing raw commands to / from the hub.
And being an electron web app, you can extract the raw vue.js html/javascript from the app.asar file for further knowledge. (hubWorker.js looks quite useful)
In the wiki, Websockets API page, there's a large section that is repeated. It begins with section labelled "Connectivity" and ends in the paragraphs following "Query".
Is there a home-assistant integration for this v2?
The existing acmeda integration in home assistant appears to be using aiopulse 1.
I'm about to buy new blinds and the pulse2.
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.