A fully-fledged up-to-date Homebridge-Plugin for use with Homebridge v0.2.1+ and Domoticz
- Sockets (on/off) - Domoticz SwitchTypeVal: 0
- Lamps (on/off) - Domoticz SwitchTypeVal: 0
- Contact Sensors - Domoticz SwitchTypeVal: 2
- Blinds - Domoticz SwitchTypeVal: 3
- Smoke Detectors - Domoticz SwitchTypeVal: 5
- Blinds (inverted) - Domoticz SwitchTypeVal: 6
- Lamps (dimmer) - Domoticz SwitchTypeVal: 7
- Motion Sensors - Domoticz SwitchTypeVal: 8
- Push Switches - Domoticz SwitchTypeVal: 9
- Lock Contact - Domoticz SwitchTypeVal: 11
- Blinds (%) - Domoticz SwitchTypeVal: 13
- Blinds (& inverted) - Domoticz SwitchTypeVal: 16
- Push Buttons (selectors) - Domoticz SwitchTypeVal: 18
- Lock Mechanisms - Domoticz SwitchTypeVal: 19
- Lock Mechanisms (inverted) - Domoticz SwitchTypeVal: 20
- Temperature sensors (only temperature characteristic in case of T+H / T+H+B)
- Thermostat SetPoints
- General kWh power meters - Types: General, Current; SubType: kWh, mapped to Eve chars where possible
- General Current, Voltage - Types: General, SubType: Current,Voltage, mapped to Eve chars where possible
- CurrentCost USB power meter - Type: Usage, SubType: Electric, mapped to Eve chars where possible
- P1 Smart Meter (Electric & Gas), mapped to Eve chars where possible
- EvoHome** / OpenTherm Thermostat support - Types: Heating, Thermostat; SubTypes: Zone, SetPoint
- YouLess Meter (Current, Total and Today Total Consumption) - Type: YouLess Meter; SubType: YouLess counter, mapped to Eve chars where possible
- General Usage % meters (eg: Motherboard Sensors Hardware Device - CPU %, Mem %, HDD % etc) - Type: General; SubType: Percentage
- Temperature, Temp + Humidity, Temp + Humidity + Baro (Current Temperature, Current Humidity, Current Pressure in hPA) - Type: Temp, Temp + Humidty, Temp + Humidity + Baro [id'd as Eve Weather]
- DarkSkies Virtual Weather Station Sensors (Wind, Solar Radiation, Rainfall, Visibility, Barometer [id'd as Eve Weather])
** assumes the EvoHome has been setup according to this script method.
- homebridge plugin 2.0 support
- MQTT-based realtime updates
- Hue/RGB (partial - see domoticz/domoticz#1808)
- Blinds
- m3 (gas usage)
- Motion sensors
- Smoke Detectors
- Brightness/Dimming
- kWh (electricity usage)
- General % usage
- Humidity
- Pressure
- YouLess Meter
- Open/Closed contact sensors
- ...more sensors (ongoing)!
sudo npm install -g homebridge-edomoticz
sudo npm update -g homebridge-edomoticz
~/.homebridge/config.json example:
{
"bridge": {
"name": "Homebridge",
"username": "CC:21:3E:E4:DE:33",
"port": 51826,
"pin": "031-45-154"
},
"description": "Configuration file for (e)xtended Domoticz platform.",
"platforms": [
{
"platform": "eDomoticz",
"name": "eDomoticz",
"server": "127.0.0.1",
"port": "8080",
"ssl": 0,
"roomid": 0,
"mqtt": 1,
"excludedDevices": []
}
],
"accessories": []
}
By default, the plugin will grab hardware information regarding MQTT from Domoticz if mqtt
is 1 or true in the configuration file.
Advanced users can override their MQTT configuration as follows:
"mqtt": {
"host": "alternate.mqtt.com",
"port": 1234,
"topic": "domoticz/out",
"username": "username",
"password": "password"
}
Values can be omitted from this dictionary, and the values that need overriding can be kept, e.g.
"mqtt": {
"port": 1234
}
to only override the port value.
To prevent certain Domoticz devices from showing up in HomeBridge it is possible to exclude them by setting the "excludedDevices" parameter. Provide an array of Domoticz Device IDX's, which can be found in the Domoticz dashboard on the "Setup > Devices" page and look for the "idx" column.
"excludedDevices": ["12","30","129"]
If Domoticz is set up to use basic or form login authentication, set "server":"user:pass@ip" within config.json. The plugin will internally extract the username and password, base64 encode it and send it as a http authorization header whenever it talks to your Domoticz server.
Set "ssl":1 in config.json to turn on SSL (ie: server connects with https:// rather than http://). You will need to specify your SSL port - usually "port":"443" by default.
If you have more than 99 devices in Domoticz, you need to limit the number of devices exposed to HomeKit (Homebridge only supports 99 Accessories on a single bridge - whilst we could combine multiple sensors into a single homekit accessory within the plugin, the possible combinations out there are endless, so we won't).
Therefore, to reduce the number of devices exposed from Domoticz, create a roomplan within Domoticz via Setup > More Options > Plans > roomplan. Add only the devices you wish to be exposed to HomeKit to this new roomplan within Domoticz, and then get it's roomidx number. Set "roomid" in your config.json file to this room number.
See Domoticz API Reference - query your device as per the instructions there, and if your device’s SwitchTypeVal isn't in the 'Supports:' list or Type/SubType aren’t in the ’Provides:' list above then it'll just appear as an On/Off switch. Open a new issue including the output from the json api and I’ll get look into supporting that particular device more fully!
Override-Until time in minutes from the current time. Allows setting an override-until time upto 8 hours in the future. Setting this slider to 0 will set the heating mode to Auto. Setting it to 481 will set the override as a PermanentOverride.
Complies with Homebridge's native logging & debugging methodology - see https://github.com/nfarina/homebridge/wiki/Basic-Trouble-Shooting