Skip to main content

A simple API for BLE-enabled Vevor independent heaters

Project description

vevor_heater_ble

Documentation of the BLE protocol that Vevor heaters use, and a simple library to simplify its use.

Installation

python3 -m pip install vevor_heater_ble

Usage

TODO

Heater Communication Protocol

The BLE communication protocol for the heater is rather convoluted. Instead of requesting an authentication passkey, the heater expects the client to write the passkey to a predefined characteristic to authenticate itself. The heater then responds with a single notification providing the values. Any other attempts to retrieve the value of the characreristic will result in an empty response.

The service and the characteristic are identified by the following UUIDs respectively: 0000ffe0-0000-1000-8000-00805f9b34fb and 0000ffe1-0000-1000-8000-00805f9b34fb. The latter is also used to subscribe to the response notifications.

Request format

Offset Value Description
0 0xAA Magic version constant
1 0x55 Magic version constant
2 0x0C Two most significant decimal password digits (12)
3 0x22 Two least significant decimal password digits (34)
4 0x01-0x04 Command to run (see below for more details)
5 depends Value to send alongside the command.
6 0x00 ??? (padding, always zero)
7 any Checksum, sum of values at offset 2-6 modulo 256

Request commands

Value Accepted Data Values Description
1 0 Ping, readonly device status request
2 1, 2 Operational mode. 1 - manual power level, 2 - automatic temperature-based control
3 0, 1 Turn the heater off / on
4 [1, 10] for op. mode 1, [8, 36] for op. mode 2 The desired temperature / power level

Response format

All values are unsigned, little endian encoded integers, unless specified otherwise.

Offset Length Values Description
0 1 0xAA Magic version constant
1 1 0x55 Magic version constant
2 1 0x01-0x04 Command this message is a response to (see above for details)
3 1 0x00, 0x01 Heater power status (on / off)
4 1 0x00-0x0A Error code (range taken from printed manual)
5 1 0x00-0x04 Running state
  • Warmup
  • Self test running
  • Ignition
  • Heating
  • Shutting down
6 2 any Altitude
8 1 0x01, 0x02 Operational mode
9 1 [1, 10] for op. mode 1, [8, 36] for op. mode 2 Target temperature / power level
10 1 [0, 9], only for for op. mode 2 Current power level. Offset by one when compared to the power level operation mode.
11 2 any, typ. [90, 180] Voltage of the power supply, in decivolts (0.1 V)
13 2 any Temperature of the heating element, in degrees Celsius.
15 2 any Temperature of the room, in degrees Celsius.
17 1 0x01-0x0A Display error code (should correspond with the error code on the heater display)
18 1 0x00 ??? (padding, always zero)
19 1 any Checksum, sum of values at offsets [3;(last-1)] modulo 256

Project details


Download files

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

Source Distribution

vevor_heater_ble-0.0.5.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

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

vevor_heater_ble-0.0.5-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file vevor_heater_ble-0.0.5.tar.gz.

File metadata

  • Download URL: vevor_heater_ble-0.0.5.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for vevor_heater_ble-0.0.5.tar.gz
Algorithm Hash digest
SHA256 dc8bff4ae117f44c2678de2d602060b0115ecb505a36ee76dcfe6c61f66a14e9
MD5 751c4dba44a8254f6d9aa8acbf8894d1
BLAKE2b-256 6ce8c2741e4d3939a6f842c276395e83e5b6386f60d0818bfa497927aaa73d48

See more details on using hashes here.

File details

Details for the file vevor_heater_ble-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for vevor_heater_ble-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 46eaa1e287df5e05ef2d9141c04fce52af494caaea2c321682cc66d0c5c1e86f
MD5 ede402abba60ca9bbbf4eea76ef2abe2
BLAKE2b-256 188a8b3c42c0c65547fb50351a5d287f4b5e3d37c15eea9041e22ac432676cbe

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