RFLink Switch


The rflink integration supports devices that use RFLink gateway firmware, for example, the Nodo RFLink Gateway. RFLink gateway is an Arduino firmware that allows two-way communication with a multitude of RF wireless devices using cheap hardware (Arduino + transceiver).

First, you have to set up your RFLink hub.

The RFLink integration does not know the difference between a switch, a binary_sensor and a light. Therefore all switchable devices are automatically added as light by default.

RFLink binary_sensor/switch/light ID’s are composed of: protocol, id, switch/channel. For example: newkaku_0000c6c2_1.

Once the ID of a switch is known, it can be used to configure it as a switch type in HA and, for example, to add it to a different group or configure a nice name.

Configuring devices as switch :

# Example configuration.yaml entry
switch:
  - platform: rflink
    devices:
      newkaku_0000c6c2_1: {}
      conrad_00785c_0a: {}

Configuration Variables

device_defaults map (Optional)

The defaults for the devices.

fire_event boolean (Optional, default: false)

Set default fire_event for RFLink switch devices (see below).

signal_repetitions integer (Optional, default: 1)

Set default signal_repetitions for RFLink switch devices (see below).

devices list (Optional)

A list of switches.

rflink_ids map Required

RFLink ID of the device

name string (Optional, default: RFLink ID)

Name for the device.

aliases list | string (Optional)

Alternative RFLink ID’s this device is known by.

group_aliases list | string (Optional)

aliases which only respond to group commands.

no_group_aliases list | string (Optional)

aliases which do not respond to group commands.

fire_event boolean (Optional, default: false)

Fire a button_pressed event if this device is turned on or off.

signal_repetitions integer (Optional, default: 1)

Set default signal_repetitions for RFLink switch devices (see below).

group boolean (Optional, default: true)

Allow switch to respond to group commands (ALLON/ALLOFF).

Switch state

Initially, the state of a switch is unknown. When the switch is turned on or off (via frontend or wireless remote) the state is known and will be shown in the frontend.

Sometimes a switch is controlled by multiple wireless remotes, each remote has its own code programmed in the switch. To allow tracking of the state when switched via other remotes add the corresponding remote codes as aliases:

# Example configuration.yaml entry
switch:
  - platform: rflink
    devices:
      newkaku_0000c6c2_1:
        name: Ceiling fan
        aliases:
          - newkaku_000000001_2
          - kaku_000001_a

Any on/off command from any alias ID updates the current state of the switch. However, when sending a command through the frontend only the primary ID is used.

Device support

See device support

Additional configuration examples

Multiple switches with signal repetitions and custom names

# Example configuration.yaml entry
switch:
  - platform: rflink
    device_defaults:
      fire_event: true
      signal_repetitions: 2
    devices:
      newkaku_0000c6c2_1:
        name: Ceiling fan
      conrad_00785c_0a:
        name: Motion sensor kitchen