Domintell custom component

Hi ,

Since upgrade to HA 2022.2 light are not working anymore.

Has someone an idee to solve that ?

here the logs

Cette erreur provient d’une intégration personnalisée

Logger: homeassistant.config
Source: custom_components/domintell/light.py:12
Integration: Domintell Integration (documentation)
First occurred: 10:10:53 (1 occurrences)
Last logged: 10:10:53

Platform error: light
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/config.py”, line 877, in async_process_component_config
platform = p_integration.get_platform(domain)
File “/usr/src/homeassistant/homeassistant/loader.py”, line 566, in get_platform
cache[full_name] = self._import_platform(platform_name)
File “/usr/src/homeassistant/homeassistant/loader.py”, line 583, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
File “/usr/local/lib/python3.9/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1030, in _gcd_import
File “”, line 1007, in _find_and_load
File “”, line 986, in _find_and_load_unlocked
File “”, line 680, in _load_unlocked
File “”, line 850, in exec_module
File “”, line 228, in _call_with_frames_removed
File “/config/custom_components/domintell/light.py”, line 12, in
from homeassistant.components.light import ATTR_BRIGHTNESS, Light, LightEntity, PLATFORM_SCHEMA, SUPPORT_BRIGHTNESS
ImportError: cannot import name ‘Light’ from ‘homeassistant.components.light’ (/usr/src/homeassistant/homeassistant/components/light/init.py)

solved by deleting Light, from line 12 of /config/custom_components/domintell/light.py

Hi,

I’m also getting errors since the update to 2022.5
Like @villersfr i’m getting the light error and i get also one from binary_sensor

See my log for the binary_sensor error
´Logger: homeassistant.config
Source: custom_components/domintell/binary_sensor.py:12
Integration: Domintell Integration (documentation)
First occurred: 17:43:28 (1 occurrences)
Last logged: 17:43:28

Platform error: binary_sensor

Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/config.py”, line 877, in async_process_component_config platform = p_integration.get_platform(domain) File “/usr/src/homeassistant/homeassistant/loader.py”, line 566, in get_platform cache[full_name] = self._import_platform(platform_name) File “/usr/src/homeassistant/homeassistant/loader.py”, line 583, in _import_platform return importlib.import_module(f"{self.pkg_path}.{platform_name}") File “/usr/local/lib/python3.9/importlib/init.py”, line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File “”, line 1030, in _gcd_import File “”, line 1007, in _find_and_load File “”, line 986, in _find_and_load_unlocked File “”, line 680, in _load_unlocked File “”, line 850, in exec_module File “”, line 228, in _call_with_frames_removed File “/config/custom_components/domintell/binary_sensor.py”, line 12, in from homeassistant.components.binary_sensor import BinarySensorDevice ImportError: cannot import name ‘BinarySensorDevice’ from ‘homeassistant.components.binary_sensor’ (/usr/src/homeassistant/homeassistant/components/binary_sensor/init.py)
Logger: homeassistant.config
Source: custom_components/domintell/binary_sensor.py:12
Integration: Domintell Integration (documentation)
First occurred: 17:43:28 (1 occurrences)
Last logged: 17:43:28

Platform error: binary_sensor

Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/config.py”, line 877, in async_process_component_config platform = p_integration.get_platform(domain) File “/usr/src/homeassistant/homeassistant/loader.py”, line 566, in get_platform cache[full_name] = self._import_platform(platform_name) File “/usr/src/homeassistant/homeassistant/loader.py”, line 583, in _import_platform return importlib.import_module(f"{self.pkg_path}.{platform_name}") File “/usr/local/lib/python3.9/importlib/init.py”, line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File “”, line 1030, in _gcd_import File “”, line 1007, in _find_and_load File “”, line 986, in _find_and_load_unlocked File “”, line 680, in _load_unlocked File “”, line 850, in exec_module File “”, line 228, in _call_with_frames_removed File “/config/custom_components/domintell/binary_sensor.py”, line 12, in from homeassistant.components.binary_sensor import BinarySensorDevice ImportError: cannot import name ‘BinarySensorDevice’ from ‘homeassistant.components.binary_sensor’ (/usr/src/homeassistant/homeassistant/components/binary_sensor/init.py)
Logger: homeassistant.config
Source: custom_components/domintell/binary_sensor.py:12
Integration: Domintell Integration (documentation)
First occurred: 17:43:28 (1 occurrences)
Last logged: 17:43:28

Platform error: binary_sensor

Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/config.py”, line 877, in async_process_component_config platform = p_integration.get_platform(domain) File “/usr/src/homeassistant/homeassistant/loader.py”, line 566, in get_platform cache[full_name] = self._import_platform(platform_name) File “/usr/src/homeassistant/homeassistant/loader.py”, line 583, in _import_platform return importlib.import_module(f"{self.pkg_path}.{platform_name}") File “/usr/local/lib/python3.9/importlib/init.py”, line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File “”, line 1030, in _gcd_import File “”, line 1007, in _find_and_load File “”, line 986, in _find_and_load_unlocked File “”, line 680, in _load_unlocked File “”, line 850, in exec_module File “”, line 228, in _call_with_frames_removed File “/config/custom_components/domintell/binary_sensor.py”, line 12, in from homeassistant.components.binary_sensor import BinarySensorDevice ImportError: cannot import name ‘BinarySensorDevice’ from ‘homeassistant.components.binary_sensor’ (/usr/src/homeassistant/homeassistant/components/binary_sensor/init.py)´

Hi, i have solved this
Change in binary_sensor.py on line 12&62 BinarySensorDevice to BinarySensorEntity
I also made a PR for this changes

Hi joris,

How did you define the bu4 in configuration.yalm ?

Under switch: or under an other kinf of entity (light, binary_sensor,…).

I can not get it work.

Can you share your bu4 config ?

Thank you in advance

Frederic

I also can’t get it to work @shamanenas
I copied one example of configuration.yaml

# DOMINTEL
domintell:
  host: 192.168.1.123
  password: LOGIN

# LIGHTS and LAMPS
light:
  - platform: domintell
    devices:
      - type: BIR
        module: 17A7
        channel: 1
        name: Domintell1
        location: Home

Seems like the latest update broke something? IDK I just installed home assistant to test how it would look and if I liked it add DETH02 to my installation so I can use it.
Error is:

[548111790336] The system cannot restart because the configuration is not valid: Platform error light.domintell - cannot import name 'Light' from 'homeassistant.components.light' (/usr/src/homeassistant/homeassistant/components/light/__init__.py)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 193, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1634, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1671, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/components/hassio/__init__.py", line 674, in async_handle_core_service
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: The system cannot restart because the configuration is not valid: Platform error light.domintell - cannot import name 'Light' from 'homeassistant.components.light' (/usr/src/homeassistant/homeassistant/components/light/__init__.py)

P.S. before I had different error about “mapping cant be in here” or something like that, but now when I wanted to run it again to copy it stopped. Maybe Ill look into it someday, if no one does.

Hi,
there were changed some time ago in HA entity model. My bad, I forget to update public repo.
please try to use updated version from github

1 Like

Thank you the error is gone now, I hoped I will be able to try it without connection to domintell to see how I could configure it, but I can’t, Now I just need to wait till i come home from college and get DETH02 module (P.S. It is not possible to use DETH03/04/USB connection right to main unit right?)

I never tested it with DETH03/04/USB since I don’t have these modules by myself. I had a version with RS232 some time ago.

Hello Villersfr,
I can not help you, because I don’t have DPBU switches. I only have DpbtLCD en DPBC.
Sorry for that.

Hi there !
I use the Domintell addon via the python-domintell 0.0.17 library. I would like to make changes to this library, but I can’t get it to use the one I installed in the “deps” directory. HA still uses the same… can someone help me? Thanks in advance and have a nice day everyon

I would also be interessted by new master DGQG04.
Is this foreseen ?

I’m pretty new in HA but if I can be of any help
Already thx to shamanenas

The new DGQG04 masters use the TCP protocol, instead of the UDP protocol.

The DETH02 module is no longer necessary. The DGQG04 connects directly to the network.
The DETH02 module has been replaced by the optional DNET02 module.

I have managed to connect with a DGQG04 through a DNET02, it has a port that emulates a DETH02, but it does not work 100% correctly.

It sends orders to activate the DBIR01 correctly, but it does not receive status return, and it is impossible to send the off order.

Cool, some one trying :slight_smile:

This is the info on domintell site :
WebSockets are used to communicate (TCP protocol).
Connections are encrypted (TLSv 1.2) andprotected by a password.

documents :

They speek about linux tool : wscat
wscat -n -c wss://:17481

I’ve search for a windows websocket app and found this that looks good :slight_smile: https://firecamp.io/download
(I’m not making any publicity… just trying to find info)

I manage to open a session with this wss://‘ip’:17481
I got this answer : INFO:Waiting for LOGINPSW:NONCE=21277359961674934887:INFO

in GoldenGate > support > LOGINPSW Generator I type a user / pswd and NONCE

REQUESTSALT@ha (ha is my user name ^^)

Genrate login > copy to clipboard …

LOGINPSW@ha:97c05…04a26b25636808b75bfbebf4a198bc2a52d6b0855360c3938ab4fb270e74216fdf82551bc31c03ace69252c7263c8f965801874facc631fd843

INFO:Session opened:INFO

then APPINFO doesn’t seem to get a result … nor HELLO

To keep session opened, you have to send one command (or LightProtocol string) to LightProtocol server.
The best way is to use HELLO command and sent it each 50 seconds.

LOGOUT

Voila … how far I could get
UDP command and websocket doesn’t seem so different even I could get a answer.
Perhaps that next guy will get futher :slight_smile:

Update …
By connecting like described above… and doing a

‘Ping’

‘APPINFO’
i receive a list of what seem to be domintell input and output
type of module - adress - name - location

My understanding is that new master DGQG04 uses wss (crypted websocket) for connection but still domintell light protocol for commands.

I’ve started learning python and I’ve succeed to get my connection working :slight_smile:
It’s surely not clean code but might help

websocket using ssl and create the hash as Domintell does

I’ve put th py file on my google drive (I hope that’s ok with HA rules)

shamanenas
is there anyway to integrate this with python-domintell · PyPI ?

Thank you Lebeck

I share the latest version of Light Protocol available:
Ligthprotocol v12-20230102

Yes, the new master DGQG04 and DGQG02 uses wss (crypted websocket).
Two channels for the masters and eight for the DNET02 are disponibles.

I don’t know python, but I’ll try to help. I’ll learn a little bit. You will download your code. I can also help by testing.

If shamanenas could contribute that would also be great !!

Hi,
since the upgrade to 2023.6.2 my domintell entities are not available anymore.
I upgraded the custom_components to the last files of the github reposetory from 2 weeks ago.

I don’t get errors in my config and in the log so far i can see, ony that the entities are not available

UPDATE: if i go back to 2023.5.4 (with the old files) it works again

Hello, the same happened to me

The same for me

Hi, I have downloaded new version of Domintell platform and works wit 2023.6.2 version of HA.

But the file cover.py is not updated and don’t work. I have edited file by self end it works. I have problem with climate entity. Entity show temperature but I can’t set HVAC modes and PRESET modes. Can someone help me wit this? THX