Enigma2 receivers integration

Remember - the number of spaces in front of the text on each line is important.

my entry:

enigma: 
  devices:
    - host: 10.0.0.11
      port: 80
      name: Zgemma_salon
      timeout: 20
      picon: picon


notify:
  - platform: enigma
    host: 10.0.0.11
    port: 80
    username: root
    password: your_password_to_enigma
    name: Zgemma
1 Like

Strange things started to happen. Almost all services I had to start manually. Even then, all devices connected to HASS were not accessable from HomeKit (even they were working from HASS Panel).

After running your config I have:

2020-12-12 22:54:41 ERROR (MainThread) [homeassistant.bootstrap] Failed to parse configuration.yaml: Secret password not defined. Activating safe mode

Check @matiaszon reply.
Mine has wrong ident.

I’m trying to use the integration in a scene. but unfortunately, my engima box always toggles between muted and unmuted each time the scene runs. i tried to specify the volume and muted state but that doesn’t help either. any idea how I can set it each time to unmuted?

- id: '1608569567546'
  name: WatchTV
  entities:
    media_player.vuuno4kse:
      source: VOX HD CH
      is_volume_muted: false
      volume_level: 1
      state: 'on'

it looks like the issue is here:

the enigma webif only supports toggling the mute state and the integration doesn’t check and compare the value of mute in the method call and the actual e2ismuted state. would be cool if this would be checked instead of toggled every call.

I have a problem that the intergration of enigma isnt working anymore.
I found the next in my log file:

`2021-01-10 19:18:39 ERROR (MainThread) [homeassistant.components.media_player] enigma2: Error on device update!
Traceback (most recent call last):
File “/usr/local/lib/python3.8/site-packages/urllib3/response.py”, line 401, in _decode
data = self._decoder.decompress(data)
File “/usr/local/lib/python3.8/site-packages/urllib3/response.py”, line 88, in decompress
ret += self._obj.decompress(data)
zlib.error: Error -3 while decompressing data: incorrect header check

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/lib/python3.8/site-packages/requests/models.py”, line 753, in generate
for chunk in self.raw.stream(chunk_size, decode_content=True):
File “/usr/local/lib/python3.8/site-packages/urllib3/response.py”, line 576, in stream
data = self.read(amt=amt, decode_content=decode_content)
File “/usr/local/lib/python3.8/site-packages/urllib3/response.py”, line 548, in read
data = self._decode(data, decode_content, flush_decoder)
File “/usr/local/lib/python3.8/site-packages/urllib3/response.py”, line 404, in _decode
raise DecodeError(
urllib3.exceptions.DecodeError: (‘Received response with content-encoding: gzip, but failed to decode it.’, error(‘Error -3 while decompressing data: incorrect header check’))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 359, in _async_add_entity
await entity.async_device_update(warning=False)
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 466, in async_device_update
await task
File “/usr/local/lib/python3.8/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/src/homeassistant/homeassistant/components/enigma2/media_player.py”, line 251, in update
self.e2_box.update()
File “/usr/local/lib/python3.8/site-packages/openwebif/api.py”, line 340, in update
self.sources = self.get_bouquet_sources(
File “/usr/local/lib/python3.8/site-packages/openwebif/api.py”, line 596, in get_bouquet_sources
result = self._call_api(url)
File “/usr/local/lib/python3.8/site-packages/openwebif/api.py”, line 632, in _call_api
response = self.session.get(url)
File “/usr/local/lib/python3.8/site-packages/requests/sessions.py”, line 555, in get
return self.request(‘GET’, url, **kwargs)
File “/usr/local/lib/python3.8/site-packages/requests/sessions.py”, line 542, in request
resp = self.send(prep, **send_kwargs)
File “/usr/local/lib/python3.8/site-packages/requests/sessions.py”, line 697, in send
r.content
File “/usr/local/lib/python3.8/site-packages/requests/models.py”, line 831, in content
self._content = b’’.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b’’
File “/usr/local/lib/python3.8/site-packages/requests/models.py”, line 758, in generate
raise ContentDecodingError(e)
requests.exceptions.ContentDecodingError: (‘Received response with content-encoding: gzip, but failed to decode it.’, error(‘Error -3 while decompressing data: incorrect header check’))`

How can i solve this?

Hi @OneCyrus

Thanks for the feedback.
I never used scenes, normally I use automations and everything is working properly.
I just tried scenes, and I can confirm the problem.
That allowed me to find a bug. I was not populating correctly the media_content_id, media_content_title and the source reference.
I changed the code just now and committed to github.

With this latest release, and using the following scene, everything is working properly.
It changes to the defined channels and adjusts the volume (please note that I removed the reference to the mute state).

In HomeAssistant the mute function is doing what is expected (it only toggles, does not check state).

- id: '1610810971543'
  name: Watch TV
  entities:
    media_player.dreambox_room:
      source: SIC
      volume_level: 1
      state: 'on'

Hi @Dennis_Ticheler

Thanks for the feedback.
Was this working in the past and stopped working now, or it never worked properly ?
Anything changed on the environment ?

Did you upgrade the firmware of the receiver ?

It seems the plugin is not receiving the correct info from the box !

Hi @cinzas

Everything was working fine in the past.
It could be poseble that the problems started after updated the firmware of the receiver.
But how can i solve this?

Check if you can access the interface via browser, using the user /pass you have in the configuration

@cinzas This is posseble to acces the interface due browser.

Check if you can open the link (http://box.ip/web/getservices) from your computer.
Change box.ip with the respective internal ip of the box.

Please use http and not https.
If it works, then it should work with the custom_component.
Try also changing the password to “dreambox” and use root/dreambox to connect and let me know if it works.
Or, for instance, without password

@cinzas Thanks for making this. I installed this, but i have a few “problems”.

I don’t have the 2 buttons to switch channels. Not realy important, but the play/pause button doesn’t function also.
image

The other “problem” i have. The plugin can load my picons. But my reciever has a bit of problems with that. I personly think its the problem of multi things are asking for the picons. Because the picon will be used for the epg and the lcd screen and your plugin. And when i set the settings to picon, i do get the picon by your plugin, but on my lcd screen its keeping the last picon.

So my question is, can i change the directory of the picon in your plugin some how. So i could place the picons for you plugin in a special directory on the HDD of the reciever, so i can also see the picon on my display.

HA: 2021.1.4
Reciever: VU+ Duo2
Openwebif: 1.3.9
Reciever software: Openpli 7.3

Hi @Alfagek

To change the channel/volume you need to open the card - click on the 3 dots.
image

Unfortunately, the way the integration works, everything is loaded from the tv box, and it is not relying in any external/internal storage for retrieving the picons/Screenshots from the box.

I could understand you problem if you had a legacy or a very cheap box, but I can see you have a VU+ Duo2, which is a very reliable one :slight_smile:
I am using a Gigablue and a old Dreambox with more than 5k channels, and I do not have any lag issues.

The picon images rely on a folder in your box, and the EPG and the box itself read the picon from that folder.
My component also get’s it via http, from the webinterface component. It should not cause any issues at all.

Where are you storing the picons in your box?
Are you storing them with the channel reference as the name ? (e.g.: 1_0_1_326_2F_36_FFFF0000_0_0_0.png)

Have you tried using the screenshot to see if it works ?

PS: Technically, what you are asking could be implemented, and you will have to keep a picon directory somewhere else where HA could access, but that requires a lots of changes on the plugin :frowning:

Thanks for the reply @cinzas.

The volume and channel I know. But on your screen shots I see a left and right button and the power button. I only have a power button there and the play/pause button. And that play/pause button don’t work.

About the picon, it works. I did also have them called like the “service name”. And they are installed on the hdd. In the /picon/ and also /hdd/picon/.

But if I use the picon setup in your plugin, I get problems with showing the picon on my lcd screen off my duo2. It’s only on the lcd screen what give the problem. It’s feed by linux4lcd. If I set picon in your plugin to screenshot the problem is over. So that’s why I think there is a problem with the ask for the picon because it’s used for webif/lcd/your plugin.

That’s why I did asked if it was possible to change the directory in your plugin. So I read your commit, it’s possible, but a lot off changes. So no problem :wink:.

If I don’t ask, it’s never possible. Thanks

Hello everyone, the component works correctly, I wanted to know if it is possible to change the channel, increase or decrease the volume, etc. through the Google Home Mini.

Hi

I never added to the documentation, but yes.
For the volume, as it is seen as a media player. “Hey google set Dreambox volume to 10%” and it will change the volume.
Obviously, replace Dreambox to the name you give to your box.

To change the channels, it is not directly possible. But you can do it via IFTT as explained in this post

I did it, and it works if I say “Hey google change to channel 3”, and it will change.

Hello,
I am looking for an integration for my original Dreambox DM900 with DreamOS installed. I am not able to install OpenWebIf (no deb-package, just ipkg / not compatible).

Isn’t there a HA-solution to use the DM-firmware? I don’t want to use other firmwares like OpenATV, OpenPLI and so in.

Any ideas?

Thank you

Hi,

I have problem with the picon and and the screenshot too.
Have Zgemma H7S with openatv 6.4
If in openwebif enabling user/password authentication for streaming, trying download the picon/screenshot but nothing. If disable it is working good.
Is it possible to show picon with user/password authentication enabled for streaming?