Samfox2 / homebridge-domotiga

Supports domotiga devices on HomeBridge Platform
Apache License 2.0
6 stars 3 forks source link

homebridge-domotiga

npm version Dependency Status npm GitHub last commit Donate

Supports Domotiga devices on HomeBridge platform.

Older version using API 1.0: homebridge-domotiga-1.0 (deprecated)

Switching from homebridge-domotiga (API 1.0)

Users switching from homebridge-domotiga will need to remove their old config in config.json and use the new config. Hence, DomotiGa will show up as brand new device. This is due to the fact that API 2.0 only supports platform plugins and homebridge-domotiga was implemented as an accessory plugin. This means any configurations, alarms, scenes, etc to which the devices were associated will need to be updated with the new DomotiGa devices.

What this plugin does

The latest version (work in progress) supports following (primary) services:

Domotiga device value numbers (e.g. which device value represents temperature) can be assigned directly within the config.json file. For multi-sensors (e.g. combined temperature/humidity sensors) additional characteristics can be added by defining their domotiga values in config.json (see example below).

Contributing

Intrigued? Missing any domotiga devices? Love HomeKit and Homebridge? - Feel free to contribute by sending pull requests to get this project going in a more generic direction. Or just open an issue if you have more questions or ideas.

Installation

  1. Install homebridge using: npm install -g homebridge
  2. Install this plugin using: npm install -g git+https://github.com/Samfox2/homebridge-domotiga.git or npm install -g homebridge-domotiga
  3. Update your configuration file. See sample-config.json in this repository for a sample.

Configuration

Configuration sample:

"platforms": [
    {
        "platform": "Domotiga",
        "name": "Domotiga",
        "host": "localhost",
        "port": "9090",
        "devices": [
            {
                "name": "Sensor garden",
                "service": "TemperatureSensor",
                "manufacturer": "DIY",
                "model": "TinyTX",
                "device": "81",
                "valueTemperature": "1",
                "valueHumidity": "2",
                "valueAirPressure": "3",
                "valueBattery": "4",
                "lowbattery": "3000"
                "polling": true,
                "pollingInterval": "1000"
            },
            {
                "name": "Sensor gardenhouse",
                "service": "HumiditySensor",
                "manufacturer": "DIY",
                "model": "TinyTX",
                "device": "88",
                "valueHumidity": "2",
                "valueBattery": "4",
                "lowbattery": "3000"
                "polling": false,
                "pollingInterval": "1000"
            },
            {
                "name": "Combined AirQualitySensor livingroom",
                "service": "AirQualitySensor",
                "device": "83",
                "valueAirQuality": "1",
                "valueTemperature": "2",
                "valueHumidity": "3",
                "valueAirPressure": "4",
                "valueBattery": "5",
                "lowbattery": "3000"
            },
            {
                "name": "Combined AirQualitySensor with ppm display",
                "service": "FakeEveAirQualitySensor",
                "device": "89",
                "valueAirQuality": "1",
                "valueTemperature": "2",
                "valueHumidity": "3",
                "valueAirPressure": "4",
                "valueBattery": "5",
                "lowbattery": "3000"
            },
            {
                "name": "AirQualitySensor bedroom without battery",
                "service": "AirQualitySensor",
                "device": "82",
                "valueAirQuality": "1"
            },
            {
                "name": "PC",
                "service": "Contact",
                "device": "77",
                "valueContact": "1",
                "valueBattery": "2",
                "lowbattery": "3000"
            },
            {
                "name": "Printer",
                "service": "Switch",
                "device": "79",
                "valueSwitch": "1"
            },
            {
                "name": "Utility room",
                "service": "LeakSensor",
                "device": "25",
                "valueLeakSensor": "1",
                "valueBattery": "2",
                "lowbattery": "3000"
            },
            {
                "name": "Entrance",
                "service": "MotionSensor",
                "device": "26",
                "valueMotionSensor": "1",
                "valueBattery": "2",
                "lowbattery": "3000"
            },
            {
                "name": "Outlet",
                "service": "Outlet",
                "device": "72",
                "valueOutlet": "1",
                "valuePowerConsumption": "3",
                "valueTotalPowerConsumption": "7"
            },
            {
                "name": "Powermeter basement",
                "service": "Powermeter",
                "device": "44",
                "valuePowerConsumption": "1",
                "valueTotalPowerConsumption": "2"
            },
            {
                "name": "Switchable Light bulb",
                "service": "Lightbulb",
                "device": "36",
                "valueLight": "1",
                "brightness": false
            },
            {
                "name": "Dimmable Light bulb",
                "service": "Lightbulb",
                "device": "37",
                "valueLight": "1",
                "brightness": true
            },
            {
                "name": "OpenTherm Thermostat",
                "service": "Thermostat",
                "device": "38",
                "valueTargetTemperature": "1",
                "valueTemperature": "2"
            }
        ]
    }
]

Fields:

Not yet supported by all homekit apps: