Homebridge plugin for SmartHomeNG. This is work in progress and not all devices are supported yet.
This plugin currently supports the following services (and characteristics):
- LightBulb (on/off, brightness, hue, saturation)
- Fan (on/off)
- Temperature sensor (current temperature)
- Thermostat (current- / target temperature)
- Window (current- / target position)
- Window Covering (current- / target position)
- Motion sensor (motion detected)
- Occupancy sensor (motion detected)
- Contact Sensor (contact state)
- Switch (on/off)
You have to find out the right way for your OS.
Debian Jessie:
curl -sL https://deb.nodesource.com/setup_4.x | sudo bash -
sudo apt-get install -y nodejs
Alpine Linux: (--no-cache example is for building a docker image)
apk --no-cache add nodejs
Debian Jessie:
sudo apt-get install libavahi-compat-libdnssd-dev
Alpine Linux: (--no-cache example is for building a docker image)
apk --no-cache add dbus nodejs avahi avahi-compat-libdns_sd avahi-dev
npm install -g homebridge --unsafe-perm
npm install -g homebridge-smarthomeng --unsafe-perm
You have to create a config.json in .homebridge directory. You'll find that directory in your home folder. This is an example config file which just uses this plugin and some example SmartHomeNG items.
{ "bridge": { "name": "HBDEV", "username": "CC:22:3D:E3:DE:37", "port": 51826, "pin": "031-45-154" },
"platforms": [
{
"platform": "SmartHomeNG",
"name": "SmartHomeNG",
"host": "srvsmarthome.ha.swa.lu",
"accessories": [
{
"name": "Temperatur Stube",
"type": "TemperatureSensor",
"currenttemperature": "EG.Stube.Temperatur"
},
{
"name": "Heizung Bad",
"type": "Thermostat",
"currenttemperature": "OG.Bad.Temperatur",
"targettemperature": "OG.Bad.Temperatur.Sollwert",
"targettemperatureminimum": 18,
"targettemperaturemaximum": 25
},
{
"name": "Ventilator Bad",
"type": "Fan",
"onoff": "OG.Bad.Ventilator"
},
{
"name": "Lüftung",
"type": "Fan",
"onoff": "EG.Lüftung"
"rotationSpeed": "EG.LüftungSpeed"
},
{
"name": "Schalter",
"type": "Switch",
"onoff": "EG.Esszimmer.Schalter"
},
{
"name": "Schaltsteckdose",
"type": "Outlet",
"onoff": "EG.Esszimmer.Steckdose"
},
{
"name": "Bürolicht",
"type": "Lightbulb",
"onoff": "EG.Buero.Licht"
},
{
"name": "Stubenlicht",
"type": "Lightbulb",
"onoff": "EG.Stube.Licht"
},
{
"name": "Schlafzimmerlicht",
"type": "Lightbulb",
"onoff": "OG.SZSS.Licht",
"brightness": "OG.SZSS.Licht.dimmen"
},
{
"name": "Rolladen Büro",
"type": "WindowCovering",
"updown": "EG.Buero.Rolladen.AufAb",
"currentposition": "EG.Buero.Rolladen.Position",
"targetposition": "EG.Buero.Rolladen.Position",
"inverted": true
},
{
"name": "Bewegungsmelder Küche",
"type": "MotionSensor",
"motionstate": "EG.Kueche.Praesenz"
},
{
"name": "Terassentür Küche",
"type": "ContactSensor",
"contactsensorstate": "EG.Kueche.Tuer",
"inverted": true
},
{
"name": "Fenster Esszimmer",
"type": "ContactSensor",
"contactsensorstate": "EG.Esszimmer.Fenster",
"inverted": true
},
{
"name": "Präsenzsmelder Esszimmer",
"type": "OccupancySensor",
"motiondetected": "EG.Esszimmer.Praesenz"
}
]
}
],
"description": "This is my development config file."
}