Digitalstrom implementation

Just about curiosity, is someone already busy with an implementation of digitalstrom?

I’am charmed by their hardware (formfactor) and the solution of using powerline technology instead of wireless technology.

They seem to have an open interface based on JSON messages.:
https://www.digitalstrom.org/allianz/entwickler/developer-resources/system-apis/

It would be nice to connect this solution also to homeassistant.

I’d also like to see a digitalSTROM component.
There are lots of examples for other home orchestration systems like homebridge and openHAB.
Unfortunately there’s no Python client to their API yet. However the vendor documentation is pretty details.
JSON API / System interfaces

Since all work on home assistant is done by volunteers, I am willing to financially support the component development (the way a private, western person can effort).
If necessary, I can also provide temporary access to the digitalSTROM installation in my home.

Preferred features set would be:

  • Support for apartment, zone, group, named and device scenes
  • Support for yellow, grey and black devices
  • Support for energy consumption on the dSMeter
  • Support for event subscriptions to forward button presses, state changes etc.

Since I am proficient in Python development but have no good idea yet on how home assistant components are done, I am also willing to spend time doing support tasks etc.

Would be great if someone’s interested in adding yet another home control platform :slight_smile:

Thanks, Jens

1 Like

Homebridge implementation https://github.com/cgHome/homebridge-digitalSTROM
openHAB implementation https://github.com/eclipse/smarthome/tree/master/extensions/binding/org.eclipse.smarthome.binding.digitalstrom

1 Like

I’ve built a Python client to interface with the digitalSTROM API over the weekend.
Currently limited to the devices I have in my home.

Next step: hass integration.
Would be great to get some support :slight_smile:

Initial home assistant integration killed the system since all calls were done synchronously.
Therefore I changed the whole library to be async.
Version 0.2.0 released.

Let’s continue on the integration :slight_smile:

2 Likes

A few days have gone since the last post.
The pydigitalstrom library has seen some updates and I’ve built a poc home assistant component.
Everything seems to be working just fine until now.
Only downside right now: if apartment scenes like “sleep” control devices, their status is not updated in home assistant. Workaround might be to have these scenes empty in digitalstrom and set up all “automation” in home assistant.

Will keep posting.

I just published the first prototype together with my complete HomeAssistant setup.
https://github.com/lociii/homeassistant-config/tree/master/homeassistant/custom_components

Since digitalSTROM heavily relies on scenes, the component supports light and cover controls for areas.
Each digitalSTROM room supports four areas. Additionally presence and sleep status are available as sensors.

2 Likes

just as i’m looking for dryer options for cybermonday :slight_smile:

do you know if your digaltstrom setup works with v-zug tumble dryers ?

Are these dryers controlled by Digitalstrom scenes?
The current implementation supports

  • generic scenes like present, absent, sleeping, alarm and so on
  • area scenes (4 areas per room for light and covers)
  • named custom scenes
    Single devices are not controllable since this confuses the Digitalstrom state machine.

I’ll be finalizing the implementation with config flow, registry and discovery over Christmas and try to get it merged to hass core.

Anyways as far as I’ve seen these devices have a network API which should make it relatively easy to build a specialized custom integration.

I don’t know how they are controlled - haven’t ordered it yet :wink:

Cannot answer the question then since I also don’t own one. :persevere:

Hi all
Sorry, this is maybe obvious, but I’m very new to Home Assistant / HASS IO: How do I actually install the digitalstrom component so that I can strat using it? Tried to add https://github.com/lociii/homeassistant-config/tree/master/homeassistant/custom_components/digitalstrom as custom repository in HASS IO but no new installable add-ons show up.
Appreciate any feedback pointing me into the right direction.

Cheers

The component doesn’t support auto discovery yet. Please check my config to see how to set it up. You only need to specify your server ip and credentials.
Be aware that e.g. turning off all digitalisation lights at once will overload your dss. Use scenes or delay actions like I did with the appdaemon delayer script.

If you need further assistance, let me know or open an issue on GitHub
I’ll try to extract the component and get it added to HA core as soon as I have time.

Hi Jens. Thank you very much. I used google to understand that I can simply copy the contents to a folder “digitalstrom” in the “custom_components” folder. Have also added the configuration entries to my config file.
However, when I start HA, I get the error that digitalstrom could not be started. In the log, I can see that it can’t connect to the digitalstrom server as expected (‘Failed to retrieve apptoken from digitalSTROM server at %s’, ‘https://192.168.x.x:8080). The IP address in the error message is actually the correct IP address that works in my browser.

Think that my issue is that pydigitalstrom is not installed. Based on the documentation I read, I assumed that it would install it automatically as it’s listed as a requirement. Is there anything I should have done manually in addition to copying the digitalstrom component to the custom_components folder? I’m using HASS.IO, by the way - so can’t use PIP to install pydigitalstrom manually.

Hey saimen,

great to hear that the userbase is growing.
I’m currently working on discovery and will then try to get it merged into master.

Unfortunately I’m not using hass.io so I won’t be able to reproduce your issue quickly.
However on my manual docker installation, the package gets installed as soon as I add DS to the config.

Can you ssh into the container and check the output of pip freeze if the package is really missing?

WIP
https://github.com/lociii/home-assistant/commit/52f660d6e884441a59580f7e9288d8cb5a645a2d

Including discovery etc.
Need to get in touch with some more experienced HA devs on discord to get some early feedback.

2 Likes

Finally installing custom components got super easy with the work of @ludeeus and his Home Assistant Community Store HACS.

The digitalSTROM component is now also made compatible.

Hi Jens,

You are doing a great work!!

Could I ask you one question? I’m thinking about installing the digitalSTROM system at my place, but I don’t manage to find external reviews of the products or opinions from people using it, which worries me a little bit. Since you seem to be using it at home, can I ask you your opinion about it? Are you happy? Do yo have communication issues? Are the PLC signals generating some sort of interference or malfunction in any of your home electrical appliances?

Thanks a lot!!

Hey there,

sure.
I guess the main reason why you don’t find reviews is because the system is not really widely used.

TL;DR I wouldn’t buy it again

I installed my digitalSTROM setup seven years ago. Home automation technology has come quite far since then.
Main reasons against DS:

  1. It’s too expensive
  2. It’s too slow
  3. It’s too closed down
  4. It’s too inflexible

Too expensive
Each device is around 100 Euro. That’s a shitload of money for one light. Go get some Zigbee bulbs :sweat_smile:

To slow
The average delay between hitting a switch and the light turning on is around 300-400ms. That doesn’t sound much but it’s really annoying in the beginning of you enter a room and the light turns on delayed. You’re just not used to it.
Also nowadays even wireless technology like Zigbee or zwave is faster.
The reason is because of multi tap recognition on the local switch device and communication forth and back - so nothing that will ever change.

To closed down
Back in 2012 systems like HA didn’t exist or were still in their infancy. DS made big claims about integrating third party hardware and being the central home automation hub in the future.
As we know today they failed to do so. They even didn’t release all planned DS controllers.
On the other hand they don’t show any interest of adding or supporting integration into other tools. I had to write the Python client and HA integration myself by reading through other libraries (also 3rd party) the disassembled source of their Android app etc.
The API documentation is - let’s say - limited and it’s easier to win the lottery than to get a useful and fast answer on their developer mailing list.

Too inflexible
digitalSTROM is completely based on scenes. Their state machine also gets confused when devices are controlled directly. However sometimes I would just like to control a specific light instead of turning on the movie or dinner scenes.

On your specific question:
Communication is solid. Basically never had an issue. No interference etc.

But the main reason I would not but it again:
the important parts are closed source. Whenever aizo goes out of business, I will have a damn expensive system without any future.

What would be my alternative today?
In a new building, I would have each light, reach outlet, each switch be connected separately to a central cabinet and have control hardware in there. No signals on wires, no wireless tech.
Whatever technology you would then choose for the cabinet, it will all live in there and could easily be replaced.

Fir me, I’m not extending my DS system anymore. All new stuff is Zigbee.

Hope that helps!

1 Like

Thanks a lot for this detailed and sincere answer. It really helps.

Thanks a lot!