to send its actually in decimal, so from 00 … 90 , best to round insteps of 10 , so sending values like 00 , 30 … 90 => 90 => is actual 100%
i converted my input_number like this : {{ '%02.f'%((((states('input_number.dimmer4') | float / 255 ) * 90) // 10) * 10) }}
to receive , its presented in HEX format , so from 00 to 5A
I’ve got your docker working with an ambiance installation.
thanks for your work!
It have been working great for a few weeks.
But since a few days the state of the lights isn’t working anymore.
If I turn on a light in hass it’s going on but the state turns to off directly while the light keeps on.
I checked the logs and got the same error a lot.
‘(node:19) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added to [MqttClient]. Use emitter.setMaxListeners() to increase limit,
Error: connect ECONNREFUSED 192.168.1.9:10001,
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {,
errno: -111,
code: ‘ECONNREFUSED’,
syscall: ‘connect’,
address: ‘192.168.1.9’,
port: 10001,
},’
I tried to restart the server but that didn’t work.
I turned the power off and on for the dobiss installation and now it’s working again.
Cool that you are running it ! You can try increasing pollIntervalInMs. I have it set at 1000ms but I only have 2 modules. And for me this works reliably. If you have more modules it might be too low.
I could build something to guarantee we leave x amount of time between every interaction with the dobiss hardware to not spam it. Right now I make sure to never send more than 1 interaction at the same time.
Do you also use the dobiss apps ? Because they also spam the controller for the state. If 2 things spam at the same time it might cause a lockup as well.
Is it possible to make some kind of telnet connection to the dobiss controller and listen for commands?
I want to make somekind of python script that listens on tcp commands … Like example here:
We are already making a socket connection to the controller and sending it commands. But every command has a single response. We send commands like toggle this output on this relay to on for example. And it then replies with some message that it worked. But what are you trying to do exactly? Listen to presses on the switches?
i want to make a socket connection to retrieve the state when i switch something one with my classic switches on the wall, now i have a script that i fire every x sec …
so every time i make a new connection
just wanted to make one connection , so i can use a custom component
The controller can only have 1 active connection at a time I think. My dobiss2mqtt used to create a single connection and keep it open. And periodically send a request for the state expecting a single reply each time. But that made the dobiss apps malfunction as they themselves couldn’t fully interact with the controller anymore.
No. There’s no pushing as far as I know. That is what I also hoped for. Being able to just send a command to say ‘send me an event on every keypress’ and to then receive a message for every keypress. If you can figure it out that’d be great. I’d love to implement the protocol then
Especially because the bus protocol dobiss uses internally is an eventbased mechanism. What they expose to the outside world is something very different it seems.
It used to work nicely, but for some reason it behaves unreliable in recent Home Assistant (hassio) versions.
Maybe the code is useful for someone. If there is a lot of interest I will work on it some more when I find some free time. But because polling too fast can crash the Dobiss controller I am more interested in the direct CAN solution being worked on here: Dobiss2mqtt
Apparently the repository was private. I changed it to public. Please note that this was more of a backup repository for my config files (which I never used), so don’t expect nice documentation or anything like that.
I just thought I was the only fool wanting to integrate Dobiss into HA
Some things I never got around implementing:
smarter polling mechanism so we can poll a module once instead of every time one of its outputs are polled
Automatic discovery of the Dobiss installation. I have some working C++ code available for that if anyone is interested (I started a Qt C++ application before I even heard of Home Assistant, more than five years ago)