-
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
- Buttons (StatelessProgrammableSwitch), including a stealthy flip-switch mode
- Motion sensor webhook (push mode instead of polling)
Not (yet) implemented:
- Thermostat (Temperature)
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. If you use the Config UI X (highly recommended) plugin, you can simply remove the cached dingzZ accessories via the 'Homebridge Settings' menu. This will only break the accessories and automations related to the accessories you clear but will leave the remaining accessories intact.
Otherwise, either remove and re-add the plugin and the config in Homebridge or completely 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.
Currently, the following myStrom Devices are supported by 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)
- myStrom WiFi Button (tested, with restriction, and only the simple WiFi Button right now)
- myStrom WiFi Motion Sensor (suggested and tested by @qx54)
Auto-discovery on your local network will run for 10 minutes after you've started HomeBridge. Auto-configuration will check your dingz every so often for changes in Names, Output settings etc. If you add new devices, just restart HomeBridge and they should magically show up in your HomeKit.
There's a breaking change for blinds between the version v1.x.x
and v2.x.x
of the plugin. If you have a dingz with blinds (and only then), you must remove these dingz from HomeBridge and add them again (With the excellent homebridge-config-ui-x plugin/package, you can do this in a comfortable way from the UI: You can choose to remove individual cached accessories).
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"
}
]
}
]
Q: myStrom devices and dingz (eventually) support HomeKit directly, so why should I use that plugin?
A: There are a number of scenarios where using HomeBridge and this plugin with your Smart Home devices might be advisable. For example, you might want to put all IoT devices on a separate VLAN, both securing them and your other devices in case of security issues. With HomeKit alone, this quickly becomes a multicast nightmare -- with this plugin, you simply make the smart devices accessible for your HomeBridge device. You could for example isolate all IoT Devices in their VLAN from each other and only allow trusted devices from other subnets to access the dingz and myStrom REST API.
And wit auto-discovery integrated in any running Homebridge installation, the setup of new dingz and myStrom is dead easy: Connect them to your WiFi and let the plugin figure out anything.