mirror of
https://github.com/majki09/lumiax_solar_bt.git
synced 2026-03-28 19:02:34 +01:00
Create README.md
This commit is contained in:
109
README.md
Normal file
109
README.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# Lumiax MPPT BT solar regulator - unofficial repository
|
||||
|
||||
## Description
|
||||
This repo was made for reverse engineering of Lumiax MPPT BT solar regulator. It comes with various brand names:
|
||||
- Volt Polska
|
||||
- Lumiax
|
||||
- others, which I don't know yet...
|
||||
|
||||
It looks like one of these:
|
||||
|
||||

|
||||
|
||||
### What we can do
|
||||
- read current parameters (Voltage, Current, Wattage for PV and LOAD; Battery SoC (%), temperature),
|
||||
- toggle OUTPUT (send appropriate command from command table),
|
||||
- send values to domoticz (soon).
|
||||
|
||||
⚠️All scripts here was made by manual reverse engineering of it's Android app communication. There was no any official resources, hence information provided here may be incomplete and comes with **no warranty**.
|
||||
|
||||
# Need list
|
||||
## Hardware
|
||||
- any PC with USB and python3 (this was tested on Raspberry 3)
|
||||
- preffered USB Bluetooth dongle with Low-Energy (LE) support.
|
||||
|
||||
## Software
|
||||
- python3
|
||||
- [pygatt](https://github.com/peplin/pygatt)
|
||||
|
||||
# Installation
|
||||
1. Clone this repo.
|
||||
2. Get your regulator's BT MAC
|
||||
|
||||
` sudo hcitool lescan `
|
||||
|
||||
3. Get your adapter designator
|
||||
|
||||
` sudo hcitool dev `
|
||||
|
||||
Make sure you will be using USB BT dongle.
|
||||
|
||||
# Usage
|
||||
1. Run the script
|
||||
|
||||
` python3 ./lumiax_bt.py hci1 04:7F:0E:12:34:56 fe043030002bab15 `
|
||||
|
||||
where:
|
||||
- `hci1` - your adapter's designator,
|
||||
- `04:7F:0E:12:34:56` - your Lumiax's BT MAC,
|
||||
- `fe043030002bab15` - GET STATUS command (see command table).
|
||||
|
||||
you should get something like:
|
||||
|
||||
```
|
||||
pi@rasp:~ $ python3 ./lumiax_bt.py hci1 04:7F:0E:12:34:56 fe043030002bab15
|
||||
adapter started
|
||||
connected
|
||||
subscribed
|
||||
Data: 0104560001000004b00003000d00000ce40c8000
|
||||
message_length=86
|
||||
Data detected. Next data will be concated
|
||||
Data: 0700000000000000000000000000000000000000
|
||||
Data: 0000000000001a04a6002b01ff00000000000000
|
||||
Data: 0000000da20010022e0000000100010000000200
|
||||
Data: 0200000032000000004ecf
|
||||
Full data fetched. Concat finished.
|
||||
batt SoC =26
|
||||
PV V=34.9
|
||||
PV A=0.16
|
||||
PV W= 5.58
|
||||
PV TOTAL= 0.01 kWh
|
||||
BATT V=11.9
|
||||
BATT A=0.43
|
||||
BATT temp=32.0
|
||||
LOAD V=0.0
|
||||
LOAD A=0.0
|
||||
LOAD W= 0.0
|
||||
LOAD TOTAL= 0.02 kWh
|
||||
Script finished
|
||||
adapter stopped
|
||||
```
|
||||
|
||||
# Rev-eng
|
||||
## Command table
|
||||
| Command | Description |
|
||||
|---------|-------------|
|
||||
| `fe043030002bab15` | get status |
|
||||
| `fe0500000000d9c5` | disable OUTPUT |
|
||||
| `fe050000ff009835` | enable OUTPUT |
|
||||
| `fe039017000a4cc6` | get time/date |
|
||||
| `fe043061003d7b0a` | get PV history |
|
||||
| `fe0430aa0078cb07` | ? |
|
||||
| `fe043130003d2b27` | get LOAD history |
|
||||
| `fe039021001aad04` | ? |
|
||||
| `fe038ff0001dbb2b` | ? |
|
||||
| `fe03902b003c0cdc` | ? |
|
||||
|
||||
# Issues
|
||||
## Raspberry Pi issues
|
||||
When you randomly getting problems with built-in BT adapter of your RPi and getting this error:
|
||||
|
||||
` Can't init device hci0: Device or resource busy (16)`
|
||||
|
||||
you may need to use another USB BT adapter.
|
||||
|
||||
# Links
|
||||
- https://github.com/Freeyourgadget/Gadgetbridge/wiki/BT-Protocol-Reverse-Engineering
|
||||
- https://stackoverflow.com/questions/15657007/bluetooth-low-energy-listening-for-notifications-indications-in-linux
|
||||
- https://www.instructables.com/Reverse-Engineering-Smart-Bluetooth-Low-Energy-Dev/
|
||||
- https://reverse-engineering-ble-devices.readthedocs.io/en/latest/protocol_reveng/00_protocol_reveng.html
|
||||
Reference in New Issue
Block a user