Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
4cc3839
Rename reconnection tests file
flip-dots Mar 12, 2026
7926d8f
Add tests for disconnection
flip-dots Mar 12, 2026
2b0bdac
Assert that client is None and and client.disconnect is called on dis…
flip-dots Mar 12, 2026
99c4d21
Update client disposal to be more thorough
flip-dots Mar 12, 2026
bad3f2a
Use dedicated client disposal method
flip-dots Mar 12, 2026
f88c69e
Add experimental support for Anker Prime (160w)
flip-dots Mar 14, 2026
3b8ba05
Add "Anker" to dictionary
flip-dots Mar 14, 2026
1da0cf6
Add tests for Anker Prime 160w Charger
flip-dots Mar 14, 2026
eb120c0
Use existing naming scheme for ports
flip-dots Mar 14, 2026
b784577
Dynamically generate later stage encrypted negotiation messages
flip-dots Mar 15, 2026
3aa970f
Try to decrypt without verification if verification fails
flip-dots Mar 15, 2026
803cfde
Log decrypted payload for negotiations
flip-dots Mar 15, 2026
4f87683
Add warning when using unknown payload trick and only use it for defa…
flip-dots Mar 15, 2026
23d0343
Add test using alternate AES secret for Prime Charger 160w
flip-dots Mar 15, 2026
d3d35d6
Debug log generated response packets
flip-dots Mar 16, 2026
8a2ab24
Fix warning when decrypting initial negotiation payloads
flip-dots Mar 16, 2026
0390423
Log parameters of sent negotiation messages
flip-dots Mar 16, 2026
37778ea
Use improved payload parsing
flip-dots Mar 16, 2026
462e534
Log all parameters sent in negotiation messages
flip-dots Mar 16, 2026
5fa6e97
Move padding of payload to encryption function
flip-dots Mar 16, 2026
85122bc
Add support for port on/off and timer control
flip-dots Mar 16, 2026
5bdea44
Add support for sending commands to Anker Prime devices
flip-dots Mar 16, 2026
0ccd738
Add expected negotiation class and add name to requests to improve er…
flip-dots Mar 18, 2026
fd7d1f5
Add tests for Anker Prime functionality
flip-dots Mar 30, 2026
2e41b6e
Fix type issue
flip-dots Mar 30, 2026
71a83e5
Log both ends of negotiation handshake (for now anyway)
flip-dots Mar 30, 2026
7a0e585
Speed up tests using fast sleep and fast timeout fixtures
flip-dots Mar 30, 2026
9324cda
Merge branch 'main' into anker_prime
flip-dots Mar 30, 2026
3ade46b
Remove unused class
flip-dots Mar 30, 2026
da10bdb
Fix tests and refactor
flip-dots Mar 30, 2026
6c48d1e
Increase delay for checking automatic reconnection
flip-dots Mar 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
},
"cSpell.enabled": true,
"cSpell.words": [
"Anker",
"Solix",
"stringifying"
],
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ See the [support table](https://solixble.readthedocs.io/en/latest) in the docume
- F3800
- Solarbank 2
- Solarbank 3
- Prime Charger 160w
- Prime Charger 250w
- Potentially more!

Expand Down
4 changes: 4 additions & 0 deletions SolixBLE/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@
F2000,
F3800,
Generic,
PrimeCharger160w,
PrimeCharger250w,
Solarbank2,
Solarbank3,
)
from .prime_device import PrimeDevice
from .states import (
ChargingStatus,
ChargingStatusF3800,
Expand All @@ -31,6 +33,7 @@

__all__ = [
"SolixBLEDevice",
"PrimeDevice",
"C300",
"C300DC",
"C800",
Expand All @@ -40,6 +43,7 @@
"F3800",
"Solarbank2",
"Solarbank3",
"PrimeCharger160w",
"PrimeCharger250w",
"Generic",
"ChargingStatus",
Expand Down
2 changes: 1 addition & 1 deletion SolixBLE/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#: GATT Service UUID for sending commands / negotiating.
UUID_COMMAND = "8c850002-0302-41c5-b46e-cf057c562025"

#: GATT Service UUID for identifying Solix devices (Tested on C300X and C1000).
#: GATT Service UUID for identifying Solix/Prime devices (Tested on C300X, C1000, and Prime 160w Charger).
UUID_IDENTIFIER = "0000ff09-0000-1000-8000-00805f9b34fb"

#: Time to wait before re-connecting on an unexpected disconnect.
Expand Down
Loading
Loading