Skip to content

Get data from cheap solar charge controller and pass it to MQTT broker

License

Notifications You must be signed in to change notification settings

majonezz/solarlife

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solarlife

This is a simple approach to read, parse and pass data from cheap solar charge controllers like Lumiax and Volt to MQTT broker. You can pass data to home automation software like Home Assistant, Openhab and others.

Parameters that you will be able to get are for example:

  • battery voltage
  • battery current
  • battery power
  • battery percentage capability
  • solar voltage
  • solar current
  • solar power
  • load voltage
  • load current
  • load power
  • and many more...

Based on:

Depends on: libglib-2.0

Tested on VM running Ubuntu 21.04 and Fritz-Box 6690 Cable router.

To use this app you will need a Bluetooth adapter with low energy capability and compatible solar charger with Bluetooth. Generally speaking all of charging controllers that uses "Solar Life" app for Android should work.

TODO:

  • Fix bugs
  • Pass commands to controller (load on/off, clock setup, etc.)

Example output:

root@ubuntu:/usr/src/solarlife# ./solarlife -d 04:7f:0e:51:21:4c -a test.mqtt.com
Connecting to BT device... Done
MQTT: connected to server.
Service Added - UUID: 00001801-0000-1000-8000-00805f9b34fb start: 0x0001 end: 0x0003
Service Added - UUID: 00001800-0000-1000-8000-00805f9b34fb start: 0x0004 end: 0x000e
Service Added - UUID: 0000ff00-0000-1000-8000-00805f9b34fb start: 0x000f end: 0x001a
GATT discovery procedures complete
Registering notify handler with id: 2
Registered notify handler!
{"PV_rated_voltage":50,"PV_rated_current":10,"PV_rated_power_l":130,"PV_rated_power_h":0,"battery_rated_voltage":17,"battery_rated_current":10,"battery_rated_power_l":130,"battery_rated_power_h":0,"load_rated_voltage":17,"load_rated_current":10,"load_rated_power_l":130,"load_rated_power_h":0,"slave_id":1,"running_days":6,"sys_voltage":12,"battery_status":3,"charge_status":32,"discharge_status":0,"env_temperature":13,"sys_temperature":6,"undervoltage_times":255,"fullycharged_times":1,"overvoltage_prot_times":0,"overcurrent_prot_times":0,"shortcircuit_prot_times":0,"opencircuit_prot_times":0,"hw_prot_times":0,"charge_overtemp_prot_times":0,"discharge_overtemp_prot_times":0,"battery_remaining_capacity":16,"battery_voltage":11.13,"battery_current":0,"battery_power_lo":0,"battery_power_hi":0,"load_voltage":0,"load_current":0,"load_power_l":0,"load_power_h":0,"solar_voltage":0.2,"solar_current":0,"solar_power_l":0,"solar_power_h":0,"daily_production":0.01,"total_production_l":0.82,"total_production_h":0,"daily_consumption":0.02,"total_consumption_l":0.83,"total_consumption_h":0,"lighttime_daily":695,"monthly_production_l":0,"monthly_production_h":0,"yearly_production_l":0,"yearly_production_h":0,"timestamp":"2023-10-20T19:15:58Z"}
MQTT server acknowledged data

Data presented by openHAB app:

Compilation:

  • make

About

Get data from cheap solar charge controller and pass it to MQTT broker

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published