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.

Download files

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

Source Distribution

proflame-0.1.0.tar.gz (106.4 kB view details)

Uploaded Source

Built Distribution

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

proflame-0.1.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file proflame-0.1.0.tar.gz.

File metadata

  • Download URL: proflame-0.1.0.tar.gz
  • Upload date:
  • Size: 106.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for proflame-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2fa9f72cb446c103faf2f6155b021283c96560d07ff73e7223d56869f75dfc60
MD5 ffdbb83506bd738c81ad47b0d1de1f8e
BLAKE2b-256 cabc23ad69a7a19c7e52f9b0908928e2c2caf0f0b9657e8e73b1bba30dcb0aa1

See more details on using hashes here.

Provenance

The following attestation bundles were made for proflame-0.1.0.tar.gz:

Publisher: release-please.yml on Aetf/proflame

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file proflame-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: proflame-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for proflame-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4dc1ac7408d8028719c05b500b6422f724727433fcb17d9dfcebfc5c9f2de5e6
MD5 667d7889f6b7bc9ae12bd58307ec8870
BLAKE2b-256 1b43a6843880740bd8b056201698717d1141defb5c14cac844ffa5e7024cb320

See more details on using hashes here.

Provenance

The following attestation bundles were made for proflame-0.1.0-py3-none-any.whl:

Publisher: release-please.yml on Aetf/proflame

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

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