henry-spanka / homebridge-freeathome

Platform Plugin to manage free@home accessories via HomeBridge
MIT License
55 stars 10 forks source link
busch-jaeger buschjaeger freeathome homebridge homebridge-plugin homekit smarthome

homebridge-freeathome

Homebridge platform plugin for free@home SmartHome devices.

NPM

HomeKit UI

IMPORTANT: If you upgrade from < 2.0.0 please read the Upgrade Notes carefully before installing this plugin.

Features

Supported accessories

Custom Actuators

Requirements

Setup / Installation

  1. Install Homebridge
  2. npm install homebridge-freeathome
  3. Edit config.json and configure platform. See Configuration section.
  4. Start Homebridge
  5. Star the repository ;)

Configuration

To configure the plugin add the following json in the platform section in config.json.

{
    "platform": "free@home",
    "sysIP": "<IP>",
    "username": "<USERNAME>",
    "password": "<PASSWORD>",
    "mappings": {},
    "debug": false
}

Replace <IP> with the IP of your System Access Point.

You can configure the mappings if you want to ignore an actuator or channel if they are not connected/unused to hide them from the HomeKit UI. However this is only needed in rare cases. Usually you can leave this blank.

{
    "platform": "free@home",
    "sysIP": "<IP>",
    "username": "<USERNAME>",
    "password": "<PASSWORD>",
    "mappings": {
        "<ACTUATOR-SERIAL>": {
            "blacklist": ["ch0000", "ch0001"],
        },
        "<ACTUATOR-SERIAL>": {
            "blacklist": ["*"],
        }
    }
}

You can find the actuator serial in the web interface of the free@home SysAp Interface.

(Video) DoorBell

See the DoorBell Tutorial on how to setup the free@home DoorBell in HomeKit.

Garage Door

See the GarageDoor Tutorial on how to expose a Switch actuator as a GarageDoor accessory.

ContactSensor

The Contact Sensor uses the datapoint odp0000 by default which might work for you and the Contact Sensor will always be shown as Closed in HomeKit. Unfortunately the free@home devices are not consistent and for some Contact Sensors you need to override the used datapoint. So far I've found that either odp0000 (default) or odp000C works, your model might use a different datapoint. You find find the right datapoint by enabling debug mode and opening/closing the Contact Sensor. Look for the datapoint that changes it's value to either 1 or 0 depending on whether you open or close the contact.

{
    ....
    "mappings": {
        "<ACTUATOR-SERIAL>": { // e.g. ABB123456789
            "contactsensor": {
                "<CHANNEL-ID>" { // e.g. ch0001
                    "datapoint": "<DATAPOINT>" // e.g. odp000C
                }
            }
        }
    }
}

Limitations

Notes

Tips & Tricks

Changelog

The changelog can be viewed here.

Upgrade Notes

Upgrade Notes can be found in the CHANGELOG.

Help

If you have any questions or help please open an issue on the GitHub project page.

Contributing

Pull requests are always welcome. If you have a device that is not supported yet please open an issue or open a pull request with your modifications.

Donation

If you find my work useful you can support the ongoing development of this project by buying me a cup of coffee

License

The project is subject to the MIT license unless otherwise noted. A copy can be found in the root directory of the project LICENSE.