Skip to main content

A library for parsing Renogy BLE data

Project description

Renogy BLE

Tests Release

A Python library for parsing Bluetooth Low Energy (BLE) data from Renogy devices.

Overview

Library for parsing raw BLE Modbus data from Renogy devices with BT-1 and BT-2 Bluetooth modules.

Currently supported devices:

  • Renogy charge controllers (such as Rover, Wanderer, Adventurer)

Future planned support:

  • Renogy batteries
  • Renogy inverters

Installation

pip install renogy-ble

Usage

Basic usage example:

from renogy_ble import RenogyParser

# Raw BLE data received from your Renogy device
raw_data = b"\xff\x03\x02\x00\x04\x90S"  # Example data

# Parse the data for a specific model and register
parsed_data = RenogyParser.parse(raw_data, type="controller", register=57348)

# Use the parsed data
print(parsed_data)
# Example output: {'battery_type': 'lithium'}

Features

  • Parses raw BLE Modbus data from Renogy devices
  • Extracts information about battery, solar input, load output, controller status, and energy statistics
  • Returns data in a flat dictionary structure
  • Returns raw values (no scaling or unit conversion)

Data Handling

Input Format

The library accepts raw BLE Modbus response bytes and requires you to specify:

  • The device type (e.g., type="controller")
  • The register number being parsed (e.g., register=256)

Output Format

Returns a flat dictionary of raw values:

{
    "battery_voltage": 129,
    "pv_power": 250,
    "charging_status": "mppt"  # Mapped from numeric values where applicable
}

Extending for Other Models

The library is designed to be easily extensible for other Renogy device types. To add support for a new type:

  1. Update the REGISTER_MAP in register_map.py with the new device type's register mapping
  2. Create a new type-specific parser class in parser.py (if needed)
  3. Update the RenogyParser.parse() method to route to your new parser

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

References

cyrils/renogy-bt

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

renogy_ble-0.2.2.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

renogy_ble-0.2.2-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file renogy_ble-0.2.2.tar.gz.

File metadata

  • Download URL: renogy_ble-0.2.2.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for renogy_ble-0.2.2.tar.gz
Algorithm Hash digest
SHA256 c48e6bc88b8244847ffd3b70ee06469041143f6e09ff2582e73e4e38a7bbf8b3
MD5 9bed1fe548bbd09269ca288e6f814718
BLAKE2b-256 bb5299870c004ba1e2b2cf8cfd6a6671fee12a74f8987f6a0f698833c2d2ac69

See more details on using hashes here.

File details

Details for the file renogy_ble-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: renogy_ble-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for renogy_ble-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5d22487806a18e8d7a1b622736380467726e4e1834ffb87590f6735d5d941490
MD5 8a1f641f445e6433e4e5a51c66f06bb4
BLAKE2b-256 8093889d74fc69edc5395f6f4031c2427712b0b8946539cc990af762aad351c4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page