Pilight Switch


The pilight switch platform is issuing 433 MHz commands using pilight to turn a 433 MHz device on or off. The Pilight Home Assistant hub has to be set up.

Additionally RF commands can be defined that trigger this switch to turn on and off. This allows you to also use the remote shipped with your 433 MHz switch without mixing up the Home Assistant states. You can even define several on/off commands, thus several RF remotes to toggle this switch.

To be really sure that Home Assistant knows the actual state of your device it is recommended to use the RF remote with codes unknown to any of your 433 MHz devices. Thus you use the remote to trigger this switch to send the correct RF code to the device.

To define a Pilight switch, add the following lines to your configuration.yaml:

# Example configuration.yaml entry
switch:
  - platform: pilight
    switches:
      Bed light:
        on_code:
          protocol: intertechno_old
          'on': 1
        off_code:
          protocol: intertechno_old
          'off': 1

Configuration variables:

  • switches array (Required): The list that contains all command switches.
    • [entry] (Required): Name of the command switch. Multiple entries are possible.
      • on_code (Required): The code to turn the device on.
      • off_code (Required): The code to turn the device off.
      • on_code_receive (Optional): If given, this command will turn the switch on if it is received by Pilight.
      • off_code_receive (Optional): If given, this command will turn the switch off if it is received by Pilight.

Variables for the different codes:

  • protocol (Required): Protocol to use, eg. intertechno_old or daycom.
  • systemcode (Optional): The systemcode of the device.
  • unit (Optional): The unit to use.
  • id (Optional): ID of the device
  • state (Optional): 'on' or 'off' has to be in apostrophes to be parsed correctly.
  • ‘off’ (Optional): 1 or 0
  • ‘on’ (Optional): 1 or 0

For possible code entries look at the pilight API. All commands allowed by pilight-send can be used. Which means that if for a certain protocol there are different parameters used, you should be able to replace the variables above by the proper ones required by the specific protocol. When using the elro_800_switch or mumbi protocol for example, you will have to replace the variable unit with unitcode or there will be errors occurring.

Examples

switch:
  - platform: pilight
    switches:
      Bed light:
        on_code:
          protocol: intertechno_old
          unit: 3
          id: 4
          'on': 1
        off_code:
          protocol: intertechno_old
          unit: 3
          id: 4
          'off': 1
        on_code_receive:
          protocol: daycom
          systemcode: 14462
          unit: 6
          id: 34
          state: 'on'
        off_code_receive:
          protocol: daycom
          systemcode: 14462
          unit: 6
          id: 34
          state: 'off'