aiobmsble 0.3.0__py3-none-any.whl → 0.4.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aiobmsble/__main__.py +1 -1
- aiobmsble/basebms.py +2 -2
- aiobmsble/test_data/__init__.py +102 -0
- aiobmsble/test_data/abc_bms.json +34 -0
- aiobmsble/test_data/ant_bms.json +18 -0
- aiobmsble/test_data/ant_leg_bms.json +19 -0
- aiobmsble/test_data/braunpwr_bms.json +34 -0
- aiobmsble/test_data/cbtpwr_bms.json +90 -0
- aiobmsble/test_data/cbtpwr_vb_bms.json +20 -0
- aiobmsble/test_data/daly_bms.json +100 -0
- aiobmsble/test_data/dpwrcore_bms.json +18 -0
- aiobmsble/test_data/ecoworthy_bms.json +100 -0
- aiobmsble/test_data/ective_bms.json +104 -0
- aiobmsble/test_data/ej_bms.json +107 -0
- aiobmsble/test_data/felicity_bms.json +24 -0
- aiobmsble/test_data/ignore.json +48 -0
- aiobmsble/test_data/jbd_bms.json +440 -0
- aiobmsble/test_data/jikong_bms.json +54 -0
- aiobmsble/test_data/neey_bms.json +65 -0
- aiobmsble/test_data/ogt_bms.json +16 -0
- aiobmsble/test_data/pro_bms.json +15 -0
- aiobmsble/test_data/redodo_bms.json +151 -0
- aiobmsble/test_data/renogy_bms.json +19 -0
- aiobmsble/test_data/renogy_pro_bms.json +16 -0
- aiobmsble/test_data/roypow_bms.json +54 -0
- aiobmsble/test_data/seplos_bms.json +96 -0
- aiobmsble/test_data/seplos_v2_bms.json +41 -0
- aiobmsble/test_data/tdt_bms.json +14 -0
- aiobmsble/test_data/tianpwr_bms.json +13 -0
- {aiobmsble-0.3.0.dist-info → aiobmsble-0.4.1.dist-info}/METADATA +48 -9
- aiobmsble-0.4.1.dist-info/RECORD +64 -0
- aiobmsble-0.3.0.dist-info/RECORD +0 -37
- {aiobmsble-0.3.0.dist-info → aiobmsble-0.4.1.dist-info}/WHEEL +0 -0
- {aiobmsble-0.3.0.dist-info → aiobmsble-0.4.1.dist-info}/entry_points.txt +0 -0
- {aiobmsble-0.3.0.dist-info → aiobmsble-0.4.1.dist-info}/licenses/LICENSE +0 -0
- {aiobmsble-0.3.0.dist-info → aiobmsble-0.4.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,65 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"advertisement": {
|
4
|
+
"local_name": "GW-24Srenamed1",
|
5
|
+
"manufacturer_data": {
|
6
|
+
"34952": "8888bf9501113638"
|
7
|
+
},
|
8
|
+
"service_uuids": [
|
9
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb",
|
10
|
+
"0000fee7-0000-1000-8000-00805f9b34fb"
|
11
|
+
],
|
12
|
+
"rssi": -88
|
13
|
+
},
|
14
|
+
"type": "neey_bms",
|
15
|
+
"_comments": [
|
16
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/291)"
|
17
|
+
]
|
18
|
+
},
|
19
|
+
{
|
20
|
+
"advertisement": {
|
21
|
+
"local_name": "GW-24Srenamed2",
|
22
|
+
"service_uuids": [
|
23
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb",
|
24
|
+
"0000fee7-0000-1000-8000-00805f9b34fb"
|
25
|
+
],
|
26
|
+
"rssi": -88
|
27
|
+
},
|
28
|
+
"type": "neey_bms",
|
29
|
+
"_comments": [
|
30
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/291)"
|
31
|
+
]
|
32
|
+
},
|
33
|
+
{
|
34
|
+
"advertisement": {
|
35
|
+
"local_name": "GW-24Srenamed3",
|
36
|
+
"manufacturer_data": {
|
37
|
+
"55769": "88a02b8003f2fc9b"
|
38
|
+
},
|
39
|
+
"service_uuids": [
|
40
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb",
|
41
|
+
"0000fee7-0000-1000-8000-00805f9b34fb"
|
42
|
+
],
|
43
|
+
"rssi": -73
|
44
|
+
},
|
45
|
+
"type": "neey_bms",
|
46
|
+
"_comments": [
|
47
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/291)",
|
48
|
+
"MAC address"
|
49
|
+
]
|
50
|
+
},
|
51
|
+
{
|
52
|
+
"advertisement": {
|
53
|
+
"local_name": "EK-16S2EB",
|
54
|
+
"service_uuids": [
|
55
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb",
|
56
|
+
"0000fee7-0000-1000-8000-00805f9b34fb"
|
57
|
+
],
|
58
|
+
"rssi": -73
|
59
|
+
},
|
60
|
+
"type": "neey_bms",
|
61
|
+
"_comments": [
|
62
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/454)"
|
63
|
+
]
|
64
|
+
}
|
65
|
+
]
|
@@ -0,0 +1,151 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"advertisement": {
|
4
|
+
"local_name": "R-24100BNN160-A00643",
|
5
|
+
"manufacturer_data": {
|
6
|
+
"22618": "c8478015d834"
|
7
|
+
},
|
8
|
+
"service_uuids": [
|
9
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb"
|
10
|
+
],
|
11
|
+
"rssi": -127
|
12
|
+
},
|
13
|
+
"type": "redodo_bms",
|
14
|
+
"_comments": [
|
15
|
+
"source PCAP"
|
16
|
+
]
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"advertisement": {
|
20
|
+
"local_name": "P-24050BNNA70-A01152",
|
21
|
+
"manufacturer_data": {
|
22
|
+
"22618": "c8478018bc81"
|
23
|
+
},
|
24
|
+
"service_uuids": [
|
25
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb"
|
26
|
+
],
|
27
|
+
"rssi": -57
|
28
|
+
},
|
29
|
+
"type": "redodo_bms",
|
30
|
+
"_comments": [
|
31
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/280)"
|
32
|
+
]
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"advertisement": {
|
36
|
+
"local_name": "PQ-24100B-A00292",
|
37
|
+
"manufacturer_data": {
|
38
|
+
"22618": "c8478010b79a"
|
39
|
+
},
|
40
|
+
"service_uuids": [
|
41
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb"
|
42
|
+
],
|
43
|
+
"rssi": -65
|
44
|
+
},
|
45
|
+
"type": "redodo_bms",
|
46
|
+
"_comments": [
|
47
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/301)",
|
48
|
+
"PowerQueen"
|
49
|
+
]
|
50
|
+
},
|
51
|
+
{
|
52
|
+
"advertisement": {
|
53
|
+
"local_name": "L-12100BNNA70-A09683",
|
54
|
+
"manufacturer_data": {
|
55
|
+
"22618": "c8478015de04"
|
56
|
+
},
|
57
|
+
"service_uuids": [
|
58
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb"
|
59
|
+
],
|
60
|
+
"rssi": -46
|
61
|
+
},
|
62
|
+
"type": "redodo_bms",
|
63
|
+
"_comments": [
|
64
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/370)"
|
65
|
+
]
|
66
|
+
},
|
67
|
+
{
|
68
|
+
"advertisement": {
|
69
|
+
"local_name": "RO-24100B-A00162",
|
70
|
+
"manufacturer_data": {
|
71
|
+
"22618": "c8478012d5e7"
|
72
|
+
},
|
73
|
+
"service_uuids": [
|
74
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb"
|
75
|
+
],
|
76
|
+
"rssi": -45
|
77
|
+
},
|
78
|
+
"type": "redodo_bms",
|
79
|
+
"_comments": [
|
80
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/367)"
|
81
|
+
]
|
82
|
+
},
|
83
|
+
{
|
84
|
+
"advertisement": {
|
85
|
+
"local_name": "LT-51230BGC-A00229",
|
86
|
+
"manufacturer_data": {
|
87
|
+
"22618": "c8478012d64e"
|
88
|
+
},
|
89
|
+
"service_uuids": [
|
90
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb"
|
91
|
+
],
|
92
|
+
"rssi": -64
|
93
|
+
},
|
94
|
+
"type": "redodo_bms",
|
95
|
+
"_comments": [
|
96
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/360)",
|
97
|
+
"MAC address"
|
98
|
+
]
|
99
|
+
},
|
100
|
+
{
|
101
|
+
"advertisement": {
|
102
|
+
"local_name": "LT-12100BG-A07700",
|
103
|
+
"manufacturer_data": {
|
104
|
+
"22618": "c8478012b3b8"
|
105
|
+
},
|
106
|
+
"service_uuids": [
|
107
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb"
|
108
|
+
],
|
109
|
+
"rssi": -87
|
110
|
+
},
|
111
|
+
"type": "redodo_bms",
|
112
|
+
"_comments": [
|
113
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/402)",
|
114
|
+
"-A07248"
|
115
|
+
]
|
116
|
+
},
|
117
|
+
{
|
118
|
+
"advertisement": {
|
119
|
+
"local_name": "L-51030GBNGC2-A00263",
|
120
|
+
"manufacturer_data": {
|
121
|
+
"22618": "c8478014ec68"
|
122
|
+
},
|
123
|
+
"service_uuids": [
|
124
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb"
|
125
|
+
],
|
126
|
+
"rssi": -66
|
127
|
+
},
|
128
|
+
"type": "redodo_bms",
|
129
|
+
"_comments": [
|
130
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/439)"
|
131
|
+
]
|
132
|
+
},
|
133
|
+
{
|
134
|
+
"advertisement": {
|
135
|
+
"local_name": "LT-24100B-A00473",
|
136
|
+
"manufacturer_data": {
|
137
|
+
"22618": "c847800fad8b"
|
138
|
+
},
|
139
|
+
"service_uuids": [
|
140
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb"
|
141
|
+
],
|
142
|
+
"rssi": -48
|
143
|
+
},
|
144
|
+
"type": "redodo_bms",
|
145
|
+
"_comments": [
|
146
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/472)",
|
147
|
+
"LiTime LFP 24V / 100Ah",
|
148
|
+
"MAC correct"
|
149
|
+
]
|
150
|
+
}
|
151
|
+
]
|
@@ -0,0 +1,19 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"advertisement": {
|
4
|
+
"local_name": "BT-TH-66EDFC11",
|
5
|
+
"manufacturer_data": {
|
6
|
+
"39008": "66edfc11"
|
7
|
+
},
|
8
|
+
"service_uuids": [
|
9
|
+
"0000ffd0-0000-1000-8000-00805f9b34fb"
|
10
|
+
],
|
11
|
+
"rssi": -65
|
12
|
+
},
|
13
|
+
"type": "renogy_bms",
|
14
|
+
"_comments": [
|
15
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/247)",
|
16
|
+
"MAC address correct"
|
17
|
+
]
|
18
|
+
}
|
19
|
+
]
|
@@ -0,0 +1,16 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"advertisement": {
|
4
|
+
"local_name": "RNGRBP1228000830",
|
5
|
+
"manufacturer_data": {
|
6
|
+
"57676": "7457947b"
|
7
|
+
},
|
8
|
+
"rssi": -44
|
9
|
+
},
|
10
|
+
"type": "renogy_pro_bms",
|
11
|
+
"_comments": [
|
12
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/390)",
|
13
|
+
"MAC address, correct"
|
14
|
+
]
|
15
|
+
}
|
16
|
+
]
|
@@ -0,0 +1,54 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"advertisement": {
|
4
|
+
"local_name": " B12100A 220600016 ",
|
5
|
+
"manufacturer_data": {
|
6
|
+
"424": "88a0126c143922b8"
|
7
|
+
},
|
8
|
+
"service_uuids": [
|
9
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb",
|
10
|
+
"0000ffe7-0000-1000-8000-00805f9b34fb"
|
11
|
+
],
|
12
|
+
"rssi": -87
|
13
|
+
},
|
14
|
+
"type": "roypow_bms",
|
15
|
+
"_comments": [
|
16
|
+
"source pcap (https://github.com/patman15/BMS_BLE-HA/issues/186)",
|
17
|
+
"Epoch, BMS: RoyPow SPB22-TI04"
|
18
|
+
]
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"advertisement": {
|
22
|
+
"manufacturer_data": {
|
23
|
+
"2865": "88a0126c1439281f"
|
24
|
+
},
|
25
|
+
"service_uuids": [
|
26
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb",
|
27
|
+
"0000fee7-0000-1000-8000-00805f9b34fb"
|
28
|
+
],
|
29
|
+
"rssi": -50
|
30
|
+
},
|
31
|
+
"type": "roypow_bms",
|
32
|
+
"_comments": [
|
33
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/186)",
|
34
|
+
"no name advertised"
|
35
|
+
]
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"advertisement": {
|
39
|
+
"manufacturer_data": {
|
40
|
+
"35579": "88a0c66c1508a7e9"
|
41
|
+
},
|
42
|
+
"service_uuids": [
|
43
|
+
"0000ffe0-0000-1000-8000-00805f9b34fb",
|
44
|
+
"0000fee7-0000-1000-8000-00805f9b34fb"
|
45
|
+
],
|
46
|
+
"rssi": -66
|
47
|
+
},
|
48
|
+
"type": "roypow_bms",
|
49
|
+
"_comments": [
|
50
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/186)",
|
51
|
+
"no name advertised"
|
52
|
+
]
|
53
|
+
}
|
54
|
+
]
|
@@ -0,0 +1,96 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"advertisement": {
|
4
|
+
"local_name": "SP05B2312190075 ",
|
5
|
+
"service_uuids": [
|
6
|
+
"0000fff0-0000-1000-8000-00805f9b34fb"
|
7
|
+
],
|
8
|
+
"rssi": -76
|
9
|
+
},
|
10
|
+
"type": "seplos_bms",
|
11
|
+
"_comments": [
|
12
|
+
"source LOG"
|
13
|
+
]
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"advertisement": {
|
17
|
+
"local_name": "SP51B2407270006 ",
|
18
|
+
"service_uuids": [
|
19
|
+
"00001800-0000-1000-8000-00805f9b34fb",
|
20
|
+
"00001801-0000-1000-8000-00805f9b34fb",
|
21
|
+
"0000fff0-0000-1000-8000-00805f9b34fb",
|
22
|
+
"02f00000-0000-0000-8000-00000000fe00"
|
23
|
+
],
|
24
|
+
"rssi": -46
|
25
|
+
},
|
26
|
+
"type": "seplos_bms",
|
27
|
+
"_comments": [
|
28
|
+
"source BTctl (https://github.com/patman15/BMS_BLE-HA/issues/142)"
|
29
|
+
]
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"advertisement": {
|
33
|
+
"local_name": "SP66B2404270002 ",
|
34
|
+
"service_uuids": [
|
35
|
+
"0000fff0-0000-1000-8000-00805f9b34fb"
|
36
|
+
],
|
37
|
+
"rssi": -81
|
38
|
+
},
|
39
|
+
"type": "seplos_bms",
|
40
|
+
"_comments": [
|
41
|
+
"source LOG"
|
42
|
+
]
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"advertisement": {
|
46
|
+
"local_name": "SP47B-A2410230006",
|
47
|
+
"service_uuids": [
|
48
|
+
"0000fff0-0000-1000-8000-00805f9b34fb"
|
49
|
+
],
|
50
|
+
"rssi": -81
|
51
|
+
},
|
52
|
+
"type": "seplos_bms",
|
53
|
+
"_comments": [
|
54
|
+
"advmon (https://github.com/patman15/BMS_BLE-HA/issues/214)"
|
55
|
+
]
|
56
|
+
},
|
57
|
+
{
|
58
|
+
"advertisement": {
|
59
|
+
"local_name": "CSY012405290042",
|
60
|
+
"service_uuids": [
|
61
|
+
"0000fff0-0000-1000-8000-00805f9b34fb"
|
62
|
+
],
|
63
|
+
"rssi": -78
|
64
|
+
},
|
65
|
+
"type": "seplos_bms",
|
66
|
+
"_comments": [
|
67
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/231)"
|
68
|
+
]
|
69
|
+
},
|
70
|
+
{
|
71
|
+
"advertisement": {
|
72
|
+
"local_name": "SP95B-B2503190001",
|
73
|
+
"service_uuids": [
|
74
|
+
"0000fff0-0000-1000-8000-00805f9b34fb"
|
75
|
+
],
|
76
|
+
"rssi": -65
|
77
|
+
},
|
78
|
+
"type": "seplos_bms",
|
79
|
+
"_comments": [
|
80
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/454)"
|
81
|
+
]
|
82
|
+
},
|
83
|
+
{
|
84
|
+
"advertisement": {
|
85
|
+
"local_name": "SP112B2409100524 ",
|
86
|
+
"service_uuids": [
|
87
|
+
"0000fff0-0000-1000-8000-00805f9b34fb"
|
88
|
+
],
|
89
|
+
"rssi": -96
|
90
|
+
},
|
91
|
+
"type": "seplos_bms",
|
92
|
+
"_comments": [
|
93
|
+
"source LOG"
|
94
|
+
]
|
95
|
+
}
|
96
|
+
]
|
@@ -0,0 +1,41 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"advertisement": {
|
4
|
+
"local_name": "BP02",
|
5
|
+
"service_uuids": [
|
6
|
+
"0000ff00-0000-1000-8000-00805f9b34fb"
|
7
|
+
],
|
8
|
+
"rssi": -81
|
9
|
+
},
|
10
|
+
"type": "seplos_v2_bms",
|
11
|
+
"_comments": []
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"advertisement": {
|
15
|
+
"local_name": "BP21",
|
16
|
+
"service_uuids": [
|
17
|
+
"0000ff00-0000-1000-8000-00805f9b34fb"
|
18
|
+
],
|
19
|
+
"rssi": -62
|
20
|
+
},
|
21
|
+
"type": "seplos_v2_bms",
|
22
|
+
"_comments": [
|
23
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/418)"
|
24
|
+
]
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"advertisement": {
|
28
|
+
"local_name": "BP00",
|
29
|
+
"service_uuids": [
|
30
|
+
"00001800-0000-1000-8000-00805f9b34fb",
|
31
|
+
"00001801-0000-1000-8000-00805f9b34fb",
|
32
|
+
"0000ff00-0000-1000-8000-00805f9b34fb"
|
33
|
+
],
|
34
|
+
"rssi": -62
|
35
|
+
},
|
36
|
+
"type": "seplos_v2_bms",
|
37
|
+
"_comments": [
|
38
|
+
"source advmon (https://github.com/patman15/BMS_BLE-HA/issues/418)"
|
39
|
+
]
|
40
|
+
}
|
41
|
+
]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: aiobmsble
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.4.1
|
4
4
|
Summary: Asynchronous Python library to query battery management systems via Bluetooth Low Energy.
|
5
5
|
Author: Patrick Loschmidt
|
6
6
|
Maintainer: Patrick Loschmidt
|
@@ -12,7 +12,7 @@ Project-URL: Bug Reports, https://github.com/patman15/aiobmsble/issues
|
|
12
12
|
Keywords: BMS,BLE,battery,bluetooth
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
14
14
|
Classifier: Operating System :: OS Independent
|
15
|
-
Classifier: Development Status ::
|
15
|
+
Classifier: Development Status :: 4 - Beta
|
16
16
|
Classifier: Intended Audience :: Developers
|
17
17
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
18
18
|
Requires-Python: >=3.12
|
@@ -27,26 +27,42 @@ Requires-Dist: pytest-cov; extra == "dev"
|
|
27
27
|
Requires-Dist: pytest-xdist; extra == "dev"
|
28
28
|
Requires-Dist: hypothesis; extra == "dev"
|
29
29
|
Requires-Dist: mypy; extra == "dev"
|
30
|
-
Requires-Dist: ruff
|
30
|
+
Requires-Dist: ruff<0.14.0,>=0.12.1; extra == "dev"
|
31
31
|
Dynamic: license-file
|
32
32
|
|
33
|
+
[![GitHub Release][releases-shield]](https://pypi.org/p/aiobmsble/)
|
33
34
|
[![License][license-shield]](LICENSE)
|
34
35
|
|
35
36
|
# Aiobmsble
|
36
37
|
Requires Python 3 and uses [asyncio](https://pypi.org/project/asyncio/) and [bleak](https://pypi.org/project/bleak/)
|
37
|
-
> [!IMPORTANT]
|
38
|
-
> At the moment the library is under development and there might be missing functionality compared to the [BMS_BLE-HA integration](https://github.com/patman15/BMS_BLE-HA/)!
|
39
|
-
> Please do not (yet) report missing BMS support or bugs here. Instead please raise an issue at the integration till the library reached at least development status *beta*.
|
40
38
|
|
41
39
|
## Asynchronous Library to Query Battery Management Systems via Bluetooth LE
|
42
|
-
This library is intended to query data from battery management systems that use Bluetooth LE. It is developed to support [BMS_BLE-HA integration](https://github.com/patman15/BMS_BLE-HA/) that was written to make BMS data available to Home Assistant
|
40
|
+
This library is intended to query data from battery management systems that use Bluetooth LE. This library can be used stand-alone in any Python environment (with necessary dependencies installed). It is developed to support [BMS_BLE-HA integration](https://github.com/patman15/BMS_BLE-HA/) that was written to make BMS data available to Home Assistant, but can be hopefully usefull for other use-cases as well.
|
41
|
+
|
42
|
+
* [Features](#features)
|
43
|
+
* [Usage](#usage)
|
44
|
+
* [Installation](#installation)
|
45
|
+
* [Troubleshooting](#troubleshooting)
|
46
|
+
|
47
|
+
## Features
|
48
|
+
- Support for autodetecting compatible BLE BMSs
|
49
|
+
- Automatic detection of compatible BLE write mode
|
50
|
+
- Asynchronous operation using [asyncio](https://pypi.org/project/asyncio/)
|
51
|
+
- Any number of batteries in parallel
|
52
|
+
- 100% test coverage plus fuzz tests for BLE data
|
53
|
+
|
54
|
+
### Supported Devices
|
55
|
+
The [list of supported devices](https://github.com/patman15/BMS_BLE-HA/blob/feature-aiobmsble/README.md#supported-devices) is maintained in the repository of the related [Home Assistant integration](https://github.com/patman15/BMS_BLE-HA).
|
43
56
|
|
44
57
|
## Usage
|
45
58
|
In order to identify all devices that are reachable and supported by the library, simply run
|
46
59
|
```bash
|
47
60
|
aiobmsble
|
48
61
|
```
|
49
|
-
from the command line after [installation](#installation).
|
62
|
+
from the command line after [installation](#installation).
|
63
|
+
|
64
|
+
### From your Python code
|
65
|
+
In case you need a reference to include the code into your library, please see [\_\_main\_\_.py](/aiobmsble/__main__.py).
|
50
66
|
|
51
67
|
### From a Script
|
52
68
|
This example can also be found as an [example](/examples/minimal.py) in the respective [folder](/main/examples).
|
@@ -97,6 +113,18 @@ if __name__ == "__main__":
|
|
97
113
|
asyncio.run(main(NAME)) # pragma: no cover
|
98
114
|
```
|
99
115
|
|
116
|
+
### Testing
|
117
|
+
For integrations tests (using pytest) the library provides advertisement data that can be used to verify detection of BMSs. For your tests you can use
|
118
|
+
|
119
|
+
```python
|
120
|
+
from aiobmsble.test_data import bms_advertisements
|
121
|
+
|
122
|
+
def test_advertisements() -> None:
|
123
|
+
"""Run some tests with the advertisements"""
|
124
|
+
for advertisement, bms_type, _comments in bms_advertisements():
|
125
|
+
...
|
126
|
+
```
|
127
|
+
|
100
128
|
## Installation
|
101
129
|
Install python and pip if you have not already, then run:
|
102
130
|
```bash
|
@@ -119,4 +147,15 @@ pip3 install -e .[dev]
|
|
119
147
|
```
|
120
148
|
This gives you the latest library code from the main branch.
|
121
149
|
|
122
|
-
|
150
|
+
## Troubleshooting
|
151
|
+
In case you have problems with the library, please enable debug logging. You can also run `aiobmsble -v` from the command line in order to query all known BMS that are reachable.
|
152
|
+
|
153
|
+
### In case you have troubles you'd like to have help with
|
154
|
+
|
155
|
+
- please record a debug log using `aiobmsble -v -l debug.log`,
|
156
|
+
- [open an issue](https://github.com/patman15/aiobmsble/issues/new?assignees=&labels=question&projects=&template=support.yml) with a good description of what your question/issue is and attach the log, or
|
157
|
+
- [open a bug](https://github.com/patman15/aiobmsble/issues/new?assignees=&labels=Bug&projects=&template=bug.yml) if you think the behaviour you see is misbehaviour of the library, including a good description of what happened, your expectations,
|
158
|
+
- and put the `debug.log` **as attachement** to the issue.
|
159
|
+
|
160
|
+
[license-shield]: https://img.shields.io/github/license/patman15/aiobmsble?style=for-the-badge&cacheSeconds=86400
|
161
|
+
[releases-shield]: https://img.shields.io/pypi/v/aiobmsble?style=for-the-badge
|
@@ -0,0 +1,64 @@
|
|
1
|
+
aiobmsble/__init__.py,sha256=7Qg39LPp9W98ymZX67uOZzbPspJ4JuSUenSxLm12jlo,3119
|
2
|
+
aiobmsble/__main__.py,sha256=DOEa7Xogf65ON5ke425EpQqLsEqJC0Icray1WWEZeXE,3158
|
3
|
+
aiobmsble/basebms.py,sha256=89Fy7MZyBPOWnYzOmRY3LiRlQYn3fYAqWP6-0O91SY8,19864
|
4
|
+
aiobmsble/utils.py,sha256=ckcOXMLTpm4oCxbGKco88cPVP4nOgiTJ16ebFlvsj_E,5805
|
5
|
+
aiobmsble/bms/__init__.py,sha256=ZE4Uezyd5fs3os4_bt6Pnzsfrp38LTXItdvJ9-zBiR0,165
|
6
|
+
aiobmsble/bms/abc_bms.py,sha256=ug4AeTHiOcMWB4MVTjKI69mbq1wk-J89BbIE2-LeH-w,5993
|
7
|
+
aiobmsble/bms/ant_bms.py,sha256=3kNX0Oy7EDxlb1pynARnttTi-QnzSsFovR5MgrveUOo,7236
|
8
|
+
aiobmsble/bms/ant_leg_bms.py,sha256=Cz0mi3P7_TaKDodZjGs0dcBq0Mjdk8YhwSfs--ijyMQ,5711
|
9
|
+
aiobmsble/bms/braunpwr_bms.py,sha256=fINnmqN3jxZPcKXPcjGPkptU65xxTtuIrilkWlKaWeI,5977
|
10
|
+
aiobmsble/bms/cbtpwr_bms.py,sha256=r2EGxFhGJCQvn8iRa1SJY-7xey64Q6MhaKKTfsgo_T0,6277
|
11
|
+
aiobmsble/bms/cbtpwr_vb_bms.py,sha256=hivPpOXCc946RH4Z8kQXEC9GkFUTtxJC2KSaIjAvBd0,6626
|
12
|
+
aiobmsble/bms/daly_bms.py,sha256=XVz5_sOBBPhBWqlq6PLOXpwglPa1YCfMqOBOT2cQpss,5850
|
13
|
+
aiobmsble/bms/dpwrcore_bms.py,sha256=ATUw4bnXPgm7TvAA2ej7H0GKkDMhWfDUqi9CrLE1mps,6666
|
14
|
+
aiobmsble/bms/dummy_bms.py,sha256=gso6-0Bs5veVJfp6XNjZiigVAr6JAb_o9hFu-zlsURw,3503
|
15
|
+
aiobmsble/bms/ecoworthy_bms.py,sha256=-Y6TEktbTwcIfCUEfAQkRIdqxPH0B93-Fhhm93oeGKk,5410
|
16
|
+
aiobmsble/bms/ective_bms.py,sha256=GGcZgqC8BB7v0xm_st7wGvGNmayxCBYq-rhOrevaMzg,5851
|
17
|
+
aiobmsble/bms/ej_bms.py,sha256=8AiS26r2_uapXMLI34d-eECh5wKXOHhD2eRIeKhApLQ,8174
|
18
|
+
aiobmsble/bms/felicity_bms.py,sha256=oDXlJzYlZF5TtXVC1VYfMybzti1yEKjzGETop12vGYk,4738
|
19
|
+
aiobmsble/bms/jbd_bms.py,sha256=wy1EAjxZZkDps9Y5H7cGTgaV8dYz_3n1iQUxP-ImqA4,7167
|
20
|
+
aiobmsble/bms/jikong_bms.py,sha256=DOxYo2FwVZOdGtaxRwL3HzffuX0_z3pYZrsckia18Ik,11153
|
21
|
+
aiobmsble/bms/neey_bms.py,sha256=dTdyThI2MMNVfEQ2ArPbY5bDkKMGn6NSfz2G68qYZ6Q,7666
|
22
|
+
aiobmsble/bms/ogt_bms.py,sha256=gIEt1h1e0ZXESgmL_VwzH34FiyH0pvIfGwjpc3hgIZ0,7988
|
23
|
+
aiobmsble/bms/pro_bms.py,sha256=TyAbjZBYaWOLtZ4rWWVWHag8o6x-roeujWobMlnb14A,5079
|
24
|
+
aiobmsble/bms/redodo_bms.py,sha256=p6lvJ9fzJS-CkjaB7dSz3_j9-a5Ls3ul1jGBI0p6Ezk,4484
|
25
|
+
aiobmsble/bms/renogy_bms.py,sha256=q_SO0LvW0MLtdNvretnactt4UoYnq5Zje3iDrRAum9k,5080
|
26
|
+
aiobmsble/bms/renogy_pro_bms.py,sha256=EsPlnrtdn7F4o-LRIIwTnVLIkvm4yfc5uEpeJlG3bCU,3969
|
27
|
+
aiobmsble/bms/roypow_bms.py,sha256=ZNuHrMYxQLIGJuao1-DR7pNE2tH6OVGpMaZZxHl2o9I,6169
|
28
|
+
aiobmsble/bms/seplos_bms.py,sha256=R4A77uwjy5XDbbPNwzfqOZxaQfIvGs-Vnd-0Ch0zw-s,9532
|
29
|
+
aiobmsble/bms/seplos_v2_bms.py,sha256=un6vvMwWXnFzAUgOnHYg69Jokd9MH-9MjqELOQD6Uok,7494
|
30
|
+
aiobmsble/bms/tdt_bms.py,sha256=ksGPwTAcn4WDrjSh8a0OzokDhWqrOcixLU3XfndfPyI,7033
|
31
|
+
aiobmsble/bms/tianpwr_bms.py,sha256=2EdaCnY4_PxfRUUrU1hQgwvst5fHDz6yvGS7FU_zYxs,4947
|
32
|
+
aiobmsble/test_data/__init__.py,sha256=Iik1zKomyHwrBp2VL9USkSBSrlVjcz3djgSZa_dnrsI,3649
|
33
|
+
aiobmsble/test_data/abc_bms.json,sha256=xSKro1Aechkgod-mWo_azkgcMW55dZhSxxy2OoTsH94,875
|
34
|
+
aiobmsble/test_data/ant_bms.json,sha256=NjcRYC7UALV5Bj2vkCMkOf-5KhoywOO64gjze0WTyn4,373
|
35
|
+
aiobmsble/test_data/ant_leg_bms.json,sha256=HKTkLaovPDqFaGrwgtOxqUEe7LZGJn9O2uEaWDY6CcQ,375
|
36
|
+
aiobmsble/test_data/braunpwr_bms.json,sha256=XoK-OFQZneSZz0p5J3ZBqgsgeoOOixitW5Fq0yCCrcM,729
|
37
|
+
aiobmsble/test_data/cbtpwr_bms.json,sha256=tzHe5AvQQymRYVsLavXxw30S9_R51J9_Jrgpw1pDSDI,2519
|
38
|
+
aiobmsble/test_data/cbtpwr_vb_bms.json,sha256=gETNHV7wblBDbGnn6wLelBtzB0nQS7UNSVKfNKNpXD0,447
|
39
|
+
aiobmsble/test_data/daly_bms.json,sha256=OiVzdANu3_2a16lSQqeBnQi-BIluUzlMa4U7z8TAQwk,2260
|
40
|
+
aiobmsble/test_data/dpwrcore_bms.json,sha256=Qdx7wxsFUD8jmNZ-Y9xaG5eJd4BrN826dsT8dKZ0LuI,469
|
41
|
+
aiobmsble/test_data/ecoworthy_bms.json,sha256=kjdUaVEKhLRU-_lbskk4Up0_Byzf2ez_ghHQTzHpXVI,2421
|
42
|
+
aiobmsble/test_data/ective_bms.json,sha256=v5L5Vo0CkPMqT4hdSamNqA9Op_vG-6GxEHxhO7LIMCs,2364
|
43
|
+
aiobmsble/test_data/ej_bms.json,sha256=B-Uv_gXhZzlEq3RsfkLGbiK1p_lPv0d7ShxvzY9UXPM,2343
|
44
|
+
aiobmsble/test_data/felicity_bms.json,sha256=9PVyZBr4_tM0myJQKP8jdk3HUV1J4DtB99llK3fH9hk,525
|
45
|
+
aiobmsble/test_data/ignore.json,sha256=1REzB8DmmsPgm9UeZ48w-r_2ulQ-Pwru0xOq-t-2S6I,1158
|
46
|
+
aiobmsble/test_data/jbd_bms.json,sha256=CP9YKl0aB-ELAz4MkJpo2ZKp1uauY5ZMJ41-zM0O_mg,10617
|
47
|
+
aiobmsble/test_data/jikong_bms.json,sha256=MMfA4sLuJNv64s7nd3kH5L7zr2gPLYHXipOa2IxRvTQ,1222
|
48
|
+
aiobmsble/test_data/neey_bms.json,sha256=QISxbO7rVpqK6BE1V7FJ80Nqb1IV0vyLvzFCIjcir_E,1554
|
49
|
+
aiobmsble/test_data/ogt_bms.json,sha256=0DGYFDffrCLeAbH4zuvdbFrJCeKReIFZUVAcP9RA1qc,267
|
50
|
+
aiobmsble/test_data/pro_bms.json,sha256=hO1kd6AqHL4u68Atq1IJoQb-P2RLrANJGqdM565v63Y,272
|
51
|
+
aiobmsble/test_data/redodo_bms.json,sha256=Ddhf_Bg5kZ5l80IXubbp3Y44o4Nq9EXZE5eAQOYJPtQ,3436
|
52
|
+
aiobmsble/test_data/renogy_bms.json,sha256=hIE-iD-TjGsncylEz7bcxgv0v8-FrUkaaTukl0-nQXc,398
|
53
|
+
aiobmsble/test_data/renogy_pro_bms.json,sha256=CgYTT7aY34zioS07shX2ki-ASE-bFTDIgqflhmYmPxo,324
|
54
|
+
aiobmsble/test_data/roypow_bms.json,sha256=vzWwS3nwIBav5GtJU10uRYpd17U4B7bH3Qj6SHQo4Wc,1290
|
55
|
+
aiobmsble/test_data/seplos_bms.json,sha256=i1FFOL0ytINZU-98wk9L2DrY9AhvvgvkO54xd7avAZo,2119
|
56
|
+
aiobmsble/test_data/seplos_v2_bms.json,sha256=W7l6yDiZDt62zoiA1oNfVZ9NMMpC-c1wwCUUvVHtet0,901
|
57
|
+
aiobmsble/test_data/tdt_bms.json,sha256=lLyO_-RCZ6nPbGkkShk--uXMyUXHxFx6mVzuc9swtf0,196
|
58
|
+
aiobmsble/test_data/tianpwr_bms.json,sha256=9FHUqTaJQKB74T8A1noWjfcHBXI5LffZ8pUawkLbRGc,239
|
59
|
+
aiobmsble-0.4.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
60
|
+
aiobmsble-0.4.1.dist-info/METADATA,sha256=27tyBfHOE2UsSdQhGmYato6H9XmyOx4qvuxHayx8JQc,6490
|
61
|
+
aiobmsble-0.4.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
62
|
+
aiobmsble-0.4.1.dist-info/entry_points.txt,sha256=HSC_C3nQikc3nk0a6mcG92RuIM7wAzozjBVfDojJceo,54
|
63
|
+
aiobmsble-0.4.1.dist-info/top_level.txt,sha256=YHBVzg45mJ3vPz0sl_TpMB0edMqqhD61kwJj4EPAk9g,10
|
64
|
+
aiobmsble-0.4.1.dist-info/RECORD,,
|