-
Notifications
You must be signed in to change notification settings - Fork 6
Home
This plugin implements some (but not all) functions of Dingz Smart Home Devices. The plugin also supports (some) myStrom Devices as they share much of the same API definitions and concepts with Dingz.
The plugin attempts to
- auto-discover devices, and to
- auto-identify dingz settings and thus accessories by using device type, dip switch settings and input configuration
The following Dingz services are implemented:
- Dimmers (LightBulb) & Non-Dimmable Lights
- Shades (Blinds)
- Room temperature (Temperature)
- Front LED (LightBulb)
- Light Sensor
- Motion sensor status (polling only, only for Dingz+ models)
Not (yet) implemented:
- Buttons (StatefulProgrammableSwitch)
- Thermostat (Temperature)
- Motion sensor webhook (push mode instead of polling)
DingZ supports different output modes, set with a DIP switch. The plugin supports all possible configurations. If you change this configuration of your DingZ, then the Accessory must be initialised again to pick-up these settings correctly. Either remove and re-add the plugin and the config in Homebridge or reinitialise the Accessory cache in Homebridge. The former will remove all devices added via the plugin only (incl. myStrom). The latter will also remove/reinitialise all other devices configured with any other plugin, and you will have to reconfigure all Accessories, Automations and Scenes in HomeKit again -- so be careful when using this option.
DingZ outputs support dimmable and non-dimmable outputs alike with a user-configurable setting. The HomeKit accessories added with this plugin will follow this setting, even if you change it after you've added it to HomeKit. Non-dimmable outputs will be displayed as simple switchable lights whereas dimmed outputs will have a brightness setting.
DingZ outputs can has a custom name assigned. The HomeKit accessories added with this plugin will follow this too. If you change the name in DingZ (and haven't manually changed the name in HomeKit before), your device will be renamed in HomeKit, too. Beware that this is a one-way street: Changing the name in HomeKit won't change anything in your DingZ.
My original homebridge-mystrom plugin was written a while ago. HomeKit, Homebridge and the JavaScript/TypeScript world have all come a long way since then. Since the Dingz devices share a similar approach to auto-dsicovery and API with MyStrom Devices, it is in fact quite simple to implement basic support for MyStrom Devices.
Currently, the following MyStrom Devices are implemented in this plugin:
- MyStrom WiFi Switch CH V1 (tested, must be manually added)
- MyStrom WiFi Switch CH V2 (tested, w/ auto-discovery)
- MyStrom WiFi Switch EU (untested, should work with auto-discovery too)
- MyStrom WiFi Lightbulb (tested, w/ auto-discovery)
Easy: Install and configure the plugin via Config UI X. This is the recommended and supported way as it ensures your config has the correct syntax.
Harder: Install the plugin manually and configure it directly via the Homebridge config file:
npm install -g homebridge-dingz
Add a "Dingz" platform block to your Homebridge config (under platforms)
"platforms": [
{
"name": "Dingz SmartHome Devices",
"platform": "Dingz",
"globalToken": "74ccbf570f4b4be09d37b7ff4ea03954551f9263"
}
]
Note: The globalToken
is only required if you've set a REST API Token which is shared by all Dingz you own.
If your Dingz Devices reside on a separate subnet than your Homebridge installation and/or use different REST API tokens each, then add the devices manually or via Config UI X.
"platforms": [
{
"name": "Dingz SmartHome Devices",
"platform": "Dingz",
"globalToken": "74ccbf570f4b4be09d37b7ff4ea03954551f9263",
"devices": [
{
"name": "Dingz SmartHome Device #1",
"address": "ip or address",
"type": "Dingz"
}
]
}
]