Skip to main content

proflame

CI PyPI

The SIT Proflame 2 fireplace remote protocol, in Python: encode a complete appliance state into OOK timings, decode received timings back into a state and the identity of the handset that sent them, and derive the per-remote checksum constants from a single captured frame.

Transceiver-agnostic by design: this library deals in signed-microsecond timing lists, and a radio is whatever turns those into RF and back. The first consumers are the hass-proflame Home Assistant integration and the hackrf-proxy daemon ecosystem, but nothing here depends on either.

from proflame import Remote, State, encode_timings, decode_frame

# One captured frame is enough to learn a handset, checksum constants and all.
heard = decode_frame(received_timings)
remote = heard.remote

# A frame always carries the complete appliance state, never a delta.
timings = encode_timings(remote, State(power=True, flame=4, light=2))

Two things worth knowing before building on it:

  • The checksum constants are per handset. They fall out of any one valid frame (Remote.from_frame, derive_key); hardcoding one remote's constants produces frames every other receiver rejects.
  • The appliance is stateless and answers no questions. Every frame carries the whole state, so a consumer must hold its own belief; nothing in the protocol confirms what the appliance did.

Documentation and data

  • The protocol derivation — physical layer, framing, field layout, checksum model, open questions, acknowledgments — lives in docs/PROTOCOL.md.
  • The field-confirmation procedure and its results live in docs/MAPPING.md.
  • Real captures — a community five-remote packet table (aggregated from rtl_433#1905) and frames recorded off the air, used as golden test data — live in tests/.
  • Bench scripts — the standalone reference decoder and the checksum analysis that first solved the relation — live in tools/.
  • Related work — smartfire, rtl_433's decoder, HACS-Proflame2 — is compared and credited at the end of docs/PROTOCOL.md.

License

MIT OR Apache-2.0, at your option.

Metadata

Release files for proflame 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for proflame 0.1.1
File Size Uploaded
proflame-0.1.1.tar.gz 106.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for proflame 0.1.1
File Interpreter ABI Platform
proflame-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 118.9 kB

Release files / proflame-0.1.1.tar.gz

Download URL proflame-0.1.1.tar.gz
Size 106.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4e43ffb904a6150b82cc91ea63028f35b6a73d41ef79babc4f6e885783c47ff5
BLAKE2b-256 checksum
How to use checksums
3a708c0a42c1c28eaab860aca64241c7fb4e708653739c79bcfeafb085c465c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / proflame-0.1.1-py3-none-any.whl

Download URL proflame-0.1.1-py3-none-any.whl
Size 12.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
39355f28b7abee937626bf9c752cb5e3054edc2692985a1559b572af38870a37
BLAKE2b-256 checksum
How to use checksums
930386cd0ee534b9abe8a7e9032bb661bdd512edf0dc320226ded83f4f71abb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page