Skip to content

jonilala796/HA-Jarolift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jarolift — Home Assistant Integration

HACS Badge GitHub Release License: MIT Tests Validate with hassfest

Control Jarolift TDEF 433 MHz motorized roller shutters natively from Home Assistant.

This integration uses the HA 2026.5 radio_frequency entity platform — it generates Keeloq-encrypted OOK command frames in Python and transmits them through an ESPHome + CC1101 RF transmitter entity. No cloud, no custom firmware protocol layer — pure Home Assistant.


Hardware Requirements

Component Details
ESP32 (any variant) WROOM, WROVER, S2, S3, C3, …
CC1101 433 MHz module e.g. EBYTE E07-M1101D-SMA or standard green CC1101
Jarolift TDEF shutters RF 433 MHz rolling-code (Keeloq)

Default ESP32 ↔ CC1101 wiring (matches the ESP32-Jarolift-Controller pinout):

CC1101 ESP32 GPIO
SCK 18
MOSI 23
MISO 19
CS 5
GD0 21
GD2 22

Prerequisites

1 — Flash ESPHome on the ESP32

Install ESPHome and configure the CC1101 module as an RF transmitter. Once added to Home Assistant, the ESP32 appears as a radio_frequency transmitter entity.

Refer to the ESPHome CC1101 documentation for the YAML configuration.

2 — Obtain your Keeloq master key

The integration needs the 64-bit Keeloq manufacturer master key for your Jarolift devices, split into two 32-bit hex values (MSB and LSB).

If you already have a working ESP32-Jarolift-Controller, the master key is in its config.json under the fields ulMasterMSB / ulMasterLSB.

Note: The Keeloq master key is device-family-specific and not publicly distributed. Community resources and existing controller configurations are the primary source.


Installation

Via HACS (recommended)

  1. Open HACS → Integrations → ⋮ → Custom repositories
  2. Add https://github.com/jonilala796/ha-jarolift — category Integration
  3. Search for Jarolift and install
  4. Restart Home Assistant

Manual

  1. Copy custom_components/jarolift/ into your HA config/custom_components/ directory
  2. Restart Home Assistant

Configuration

  1. Go to Settings → Devices & Services → Add Integration
  2. Search for Jarolift

Step 1 — Select RF Transmitter

Choose the ESPHome CC1101 entity from the dropdown. Only compatible 433 MHz OOK transmitters are shown.

Step 2 — Device Configuration

Field Description
Master Key MSB Upper 32 bits of the Keeloq master key (8 hex digits, e.g. 1A2B3C4D)
Master Key LSB Lower 32 bits of the Keeloq master key (8 hex digits, e.g. 5E6F7A8B)
Serial Number 28-bit virtual remote serial (7 hex digits, any unique value, e.g. 0A1B2C3)
Initial Counter Set to a value higher than the last counter used by any existing controller for the same serial. Default 0 for a brand-new virtual remote.
Repeat Count Extra transmissions per command (default 2 = 3 total). Higher = more reliable but slower.

Syncing with an existing ESP32-Jarolift-Controller: If you are replacing an existing controller, set the serial and master key to match, and set the initial counter to the last-used counter value + a safety margin (e.g. +100).

Step 3 — Channel Configuration

Enable and name the shutter channels you want to control (1-16 available).


Entities

Each enabled channel creates one Cover entity:

Feature Supported
Open
Close
Stop
Shade / Sun-protection position ✅ (set position to the configured shade value, default 90)

State is optimistic — the position shown in HA reflects the last command sent, not a sensor reading (Jarolift motors have no position feedback).

Shade Command

Set the cover position to the configured shade value (default 90) to send the Jarolift shade/sun-protection command. Any other position is rounded to fully open (>50) or fully closed (≤50).

You can change the shade position threshold in Options (Settings → Devices & Services → Jarolift → Configure).


Options (post-setup)

Access via Settings → Devices & Services → Jarolift → Configure:

  • Change the RF transmitter entity
  • Adjust the repeat count
  • Adjust the shade position value
  • Enable/disable and rename individual channels

Protocol Details

Property Value
Frequency 433.92 MHz
Modulation OOK (On-Off Keying)
Cipher Keeloq (linear LFSR variant, AN745 / KeeloqLib)
Frame 72 bits: [4 button][28 serial][32 hopcode][8 disc_high]
Sync 13 × (400 µs space + 380 µs pulse)
Bit '0' 400 µs space + 800 µs pulse
Bit '1' 800 µs space + 400 µs pulse

Troubleshooting

Shutters do not respond:

  • Verify the CC1101 is wired correctly and the ESPHome device appears in HA
  • Check that the master key MSB/LSB are correct
  • If migrating from another controller: ensure the counter is set higher than the last used value (Keeloq receivers reject replayed or too-old counters — a gap of 100+ should be safe)

Counter synchronisation: The rolling counter is stored in .storage/jarolift_counters.json. You can inspect or reset it there if needed.

"No compatible RF transmitter found":

  • Flash ESPHome with the CC1101 component and add it to Home Assistant first
  • Ensure the ESPHome device has been integrated (Settings → Devices & Services → ESPHome)

Contributing

Pull requests and bug reports are welcome at github.com/jonilala796/ha-jarolift.


License

MIT — see LICENSE.

About

Home Assistant integration for Jarolift TDEF 433 MHz motorized roller shutters via ESPHome + CC1101

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages