mlaurijsse / homebridge-rflink-gateway

Homebridge plugin to interface with RFLink
10 stars 4 forks source link

RFLink Platform

This is a plugin for RFLink integration in Homebridge.

Features include

MQTT RFLink Devices

Initial support for mqtt connected RFLINK devices based on https://github.com/couin3/RFLink. At the present time only read only sensor devices are supported. Tested and validated devices include Temperature, Motion and Humidity Sensors.

Install

To install globally:

sudo npm install -g https://github.com/mlaurijsse/homebridge-rflink-gateway

Config

Example config.json:

"platforms": [
    {
        "platform":"RFLink",
        "name":"RFLink test Platform",
        "bridges": [
          {
            "serialport": "/dev/tty.usbmodemFD121",
            "devices": [
              {
                "name": "ELRO",
                "protocol": "AB400D",
                "address": "4a",
                "watchdog": 5,
                "channels": [
                  {
                    "channel": 1,
                    "type": "Lightbulb",
                    "name": "Desk"
                  },
                  {
                    "channel": 2,
                    "type": "Switch",
                    "name": "TV"
                  },
                  {
                    "channel": 3,
                    "type": "Switch",
                    "name": "Radio"
                  },
                  {
                    "channel": 4,
                    "type": "StatelessProgrammableSwitch",
                    "name": "Button"
                  }
                ]
              },
              {
                "name": "Remote",
                "protocol": "NewKaku",
                "address": "0202a000",
                "type": "StatelessProgrammableSwitch"
                "channels": [ 1, 2, 3, 4, "all"]
              },
              {
                "name": "Oregon sensor",
                "protocol": "Oregon TempHygro",
                "address": "CC1D",
                "channels": [
                  {
                    "channel": "TEMP",
                    "type": "TemperatureSensor",
                    "name": "Test temperature",
                    "offSet": -4,
                    "alarmOver": 35,
                    "history": true
                  },
                  {
                    "channel": "HUM",
                    "type": "HumiditySensor",
                    "name": "Test humidity"
                  }
                ]
              }
            ],
            "delay": 500,
            "repeat":  0
          }
        ]
    }

  ]

Supported types

Different types of devices are supported:

Deprecated types

Optional parameters

By adding dimrange to a channel, the brightness characteristic will be enabled for this device. The value of dimrange should correspond to 100% brightness level.

delay sets the delay used between commands to avoid flooding RFLink.

repeat sets the number of time a command is resent to RFLink. In some setups (e.g. NewKaku dimmers), this might yield undesired results.

watchdog Watchdog timer in minutes for devices not responding. If a device is not heard from it will be marked as 'Unavailable' in the home app. Defaults to 60 minutes.

history Enables historical value graphing with iOS apps supporting historical graphing. Only supported for Temperature, Humidity and Motion devices.

mqttHost name or ip address of your mqtt host. Required to enable mqtt device mode.

mqttTopic Optional topic for mqtt messages from your rflink device, defaults to RFLink/msg

Optional parameters for Temperature Sensors

offSet: Optional, adjustment to reported temperature due to local temperature sensor conditions and environment.

alarmOver: Optional, Create a fake contact sensor called name + Over Alarm. Value is temperature in Celsius that if exceeded will trigger the contact sensor.

alarmUnder: Optional, Create a fake contact sensor called name + Under Alarm. Value is temperature in Celsius that if dropped below will trigger the contact sensor.

Credits