Dobiss2mqtt

Hi, i also have an Evolution SX, i use the CAN bus to send or receive messages, much better then the IP protocol, its instant traffic, you just need to hook up an USB to CAN adapter to your system

you can buy this one:
https://nl.aliexpress.com/item/1005004004816250.html?spm=a2g0o.order_list.order_list_main.36.4b0c79d2UhvZHI&gatewayAdapt=glo2nld

i can share code later, so no docker or addon needed
HassOS is already loaded with the preconfigured drivers for can controllers, i submitted that PR 2 years ago

or, if you prefer TCP, you can also use this custom component, @OpenJeDi created a while ago

BUT, if i remember correctly, its based on the Ambiance PRO, so the values to send/receive are different, so you need to change the code…

@Riquet there’s actually an ARM7 build. check: Docker

But I don’t know what is going on with your setup. Do you need something other than linux/arm/v7?

Personally, I’m also not using it anymore. My TCP connection on the controller broke so I’ll probably need to adapt to use the canbus adapter thing. Or upgrade to the new dobiss and use the unofficial addon for it.

TCP Controller broke? so you are also not able to reconfigure stuff with maxtool?

Thanks for your answer/supports guys. Really appreciated.
@Spabo I saw now the special image for ARM/V7. I will try this tonight.
@pergola.fabio I follow the topic since a while and i saw the canbus but i taught it was only an alternative to TCp but still inside Dobiss2MQTT. But If it is not supported anymore, i think it’s maybe beter to go for the direct Canbus interface then.
I bought already a canbus interface and I will try to install it tonight.
I didn’t saw you PR in the Home assistant list of possible add-ons (but I’m not a specialist !) and the new organisation didn’t help. I seek “canbus” and found nothing.
IS there a special way to get it?
thanks

Hi, this is what i use now, a custom component, its basicly a sensor to read all canbus data :

Create a sensor platform:

  - platform: dobiss
    url_states: "http://localhost:8123/api/states/"
    sensor_name: "sensor.dobiss"
    bearer_token: !secret LONGBEARERTOKEN

Also created a template sensor, because the custom component above updates the template sensor:

sensor: 
  - name: dobiss
    state: "dobiss"

So the component reads canbus data and puts all values in a sensor like below, this is just to know the state of a light/dimmer/etc …

I created template lights, the value template, you can use from sensor above, to send on/off you can use cansend:

in the custom component, i added this line:

os.system("apk add /config/python_scripts/canutils.apk")

So the canutils gets installed in the HA docker container, so that way you can use cansend in shell commands…

You can download from here:

I also created an automation, on HA start, i do this shell command below, its a special command to read all states of all relays…

cansend can0 00800101#00

So on the start of HA, all my lights have the correct state…

To turn on a specific light on/off, you can use below, just try in ssh
If you want to test in SSH, also install canutils first : ‘apk add can-utils’

cansend can0 00800102#00410401
cansend can0 00800102#00410400

That is module 41 (A), relay 04

So a final light becomes like :

- platform: template
  lights:
    keukeneiland:
      friendly_name: "Keuken Eiland"
      value_template: "{{ state_attr('sensor.dobiss', '4104') == '01' }}"
      turn_on:
        - service: shell_command.dobisscan
          data_template:
            module: "41"
            id: "04"
            power: "01"
      turn_off:
        - service: shell_command.dobisscan
          data_template:
            module: "41"
            id: "04"
            power: "00"

and my shell_command i used there for module/id/power is:

dobisscan: cansend can0 00800102#00{{module}}{{id}}{{power}}

@spobo i try with the armV7 version.
i made this
docker pull vincentds/dobiss2mqtt:next

i change the docker-compose.yml to this


services:
  dobiss2mqtt:
    container_name: dobiss2mqtt
    image: vincentds/dobiss2mqtt:next
    restart: unless-stopped
    platform: linux/arm/v7
    volumes:
    - source: /var/lib/docker/dobiss2mqtt/data
      target: /data
      type: bind

and then

docker compose up

and i receive this error message

 Container dobiss2mqtt  Created                                                              2.6s
Attaching to dobiss2mqtt
dobiss2mqtt  |
dobiss2mqtt  | > [email protected] start:prod /app
dobiss2mqtt  | > NODE_ENV=production node ./dist/index.js
dobiss2mqtt  |
dobiss2mqtt  | (node:19) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added to [MqttClient]. Use emitter.setMaxListeners() to increase limit
dobiss2mqtt  | (Use `node --trace-warnings ...` to show where the warning was created)
dobiss2mqtt  | [Error [TimeoutError]: Timeout has occurred]

do you know why? have I made a mistake? do you know whay i can do to solve this?
thanks

@pergola.fabio
Thank you for your detailed answer. I’m not sure I understand everything or how i can execute all the requested actions but i will try step by step.
I try the canable module. I connect can L to RX from DObiss and Can H to TX. I install can-utils and then i start the connexion with
sudo ip link set up can0 type can bitrate 125000
and then
candump can0
but I don’t receive any answer.
do you have an idea of the possible problem?
is ground always necessary.
I read also something about a resistor!
thanks

I also try to send
cansend can0 00800102#00450101
module E, relay 1
but without succes as well.

Hi,

  1. i dont have TX RX , i just have H / L , and also GND connected, verry important, i broke my can controller before on my max, because GND was not connected
  2. i have the jumper enabled to termination on my canable
  3. Make sure to use a good USB cable, some usb cables are charge only, you need one wirth charge + data
  4. I use SLCAN firmware on it, i had better experience with it, on my custom component, when HA starts, those commands are fired, try them first in SSH, and then do a candump can0, normally you should see stuff coming in when you turn on a light from a button
subprocess.call(['modprobe', 'can'])
subprocess.call(['modprobe', 'can_raw'])
subprocess.call(['modprobe', 'slcan'])

os.system("apk add /config/python_scripts/canutils.apk")
os.system("slcand -o -c -s4 /dev/ttyACM0 can0")
os.system("ifconfig can0 txqueuelen 1000")
os.system("ifconfig can0 up")

just do in SSH like: (turn off protection mode on SSH addon, otherwse you cant use commands below

modprobe can 
modprobe can_raw
modprobe slcan
slcand -o -c -s4 /dev/ttyACM0 can0
ifconfig can0 txqueuelen 1000
ifconfig can0 up
...

image

Would you know how to add shutters?
I see that only lights are added now.

Thanks

Got my Canable, where do you connect your ground?

I have H / L / Gnd on my max200, so connected to gnd :slight_smile:

Got it connected. Got some trouble following your guide.
I get the message slcan command not found. Any chanse you had the same problem?

image

Have you installed can tools?

Its slcand …not slcan

Thats indeed a typo stuppid of me. But without the typo i get the same result.
I installed can-utils is there somthing else i need to install?

no, should be enough? see here example

show me your output too ?

I’m not using home assistant os.
Running a default ubuntu server.

Seems it’s not detecting the USB stick? Can you check your attached USB devices?
Have you put slcan firmware on it?

I assumed it was already going to be on there.
I have just done this via the site https://canable.io/updater/

But unfortunately.