Control of Jarolift Covers using Broadlink RM Pro

dose it work with the cover.set_cover_position command?

No, jarolift does not have any feedback that can be used to define the actual position. The only possibilty, that rather would not work well, is to determine the time the cover need to go up and down and enable the cover motor for a percentage of that time, starting from bottom or top positioin.
Someone can try to implement it. I will probably exchange my jarolift controllers by another in the near future (that have feedback and not that sensitive to the signal quality, since I have time to time problems that covers does not react to signals), so I am not going to invest more time in jarolift component.

Oh that does not sound very goog Wladi. Maybe you can Help one Last Time. Jarolift Supports one more Position, the third Position. Is this already implemented or do you have a hint If it is possible to i.

plement?

Generally, must be definately possible, you just have to find out what code the remote sends if you press stop for 5 seconds. Does it sends stop button signal for example 5 times or it sens some special buton number. The button is represented by 4 bits in the control sequence (it means 16 possible values). For now I uase buttons 2 (close), 8 (open) and 4 (stop). Then you can implement an additional position in home assistant custom component that cals the jarolift service. For example to close the cover my component calls
self._hass.services.call('jarolift', 'send_command', {'group':self._group,'serial':self._serial,'button':'0x2'})

Pls somebody could help me with MSB\LMB code to make it work, my mail is: [email protected]

1 Like

Hi
I’m not speak german and I’m not an engineer so it is really hard to understand what I have to do to get MSB\LMB
I have to buy some hardware? or what?
I would really appreciate if a good man can write some few steps from which I can start to learn what I have to do
email: casini at post.com

Does anyone know if this still works with the current Jarolift TDED motors or was there some firmware update or so?

Thanks

Hello Wladi,

Now i have some time to get the shade button integrated into your awesome integration.
Do you have a hint how i can find yout the button codes?
Is there an listen service, where i can listen to the broadlink and get the code. i would implement all the oder codes of the remotes too.
Hope you can help me one last time.
Thank you!
Best regards,
Dominik

I think two options:

  1. you try all 16 button codes. You will succeed if what you are looking for has separate code.
  2. you sniff what the remote control sends. How to do that is described here: http://www.bastelbudenbuben.de/2017/04/25/protokollanalyse-von-jarolift-tdef-motoren/

The code is the same as stop 0x4 but you need to send the signal for about 4/5 seconds.

I was able to modify the code and use it in open_cover_tilt:

    def open_cover_tilt(self):
        """Modo sombra"""
        self._hass.services.call('jarolift', 'send_command', {'group':self._group,'serial':self._serial,'button':'0x4','hold':True})

By setting a new parameter on BuildPacket function (Hold) that force the broadlink to mantain the signal in this way:

def BuildPacket(Grouping,Serial,Button,Counter, MSB, LSB, Hold):
......
    if Hold == True:
        codedstring='b214'+hex(int(slen))[2:]+'00'+codedstring;
    else:
        codedstring='b200'+hex(int(slen))[2:]+'00'+codedstring;

First of all, sorry for my bad English.
I use the broadlink solution to control my jarolift roller blinds. That worked very well so far. However, since the update of the Broadlink integration with version V115 this no longer works. I think adjustments have to be made in init.py or cover.py.

Does anyone already have a working solution?

1 Like

Hi! Pls somebody could help me with MSB\LMB code? My mail is: [email protected]

Thanx!

Hi all, could someone please help out with the MSB/LSB codes?
My email is g.r.m.p.h(at)web.de

Thanks,
Arne

Hello,

for the newer HA Version with Broadlink Integration I tried this:

BUILD PACKET:

return(‘b64:’+packet.decode(‘utf-8’));

SEND COMMANDS:

service_data = {‘device’: ‘Jarolift’, ‘command’: [packet],‘entity_id’: ‘remote.rmpro_remote’}
hass.services.call(‘remote’, ‘send_command’, service_data)

This works so far that the rmpro sends command. But my problem is, that the Jarolift controller doesn‘t accept the learn commands. Can someone help me? Is it important to set a special MSB/LSB ?

I have the same problem but unfortunately no solution

Good evening, maybe someone can help me. I have set up the Broadlink and can receive and send IR signals as well as RF signals. I renamed the Jarolift files accordingly (__ init.py __ and cover.py) and saved them in the appropriate folder (/ custom_components / jarolift). When I run “jarolift: learn” under Developer Tools / Services, I get the following error message:

Logger: homeassistant.helpers.script.websocket_api_script
Source: helpers/script.py:1334 
First occurred: 22:29:11 (5 occurrences) 
Last logged: 22:39:03

websocket_api script: Error executing script. Service not found for call_service at pos 1: Unable to find service remote.send

jarolift: send_command


Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/jarolift/__init__.py:76 
Integration: Home Assistant WebSocket API (documentation, issues) 
First occurred: 22:39:14 (1 occurrences) 
Last logged: 22:39:14

[2786940168] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 21, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 482, in handle_execute_script
    await script_obj.async_run(msg.get("variables"), context=context)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1209, in async_run
    await asyncio.shield(run.async_run())
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 345, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 363, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 563, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1481, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1520, in _execute_service
    await self._hass.async_add_executor_job(handler.job.target, service_call)
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/jarolift/__init__.py", line 97, in handle_send_command
    WriteCounter(RCounter+1);
  File "/config/custom_components/jarolift/__init__.py", line 76, in WriteCounter
    fo=open(Counter_Filename,'w');
FileNotFoundError: [Errno 2] No such file or directory: '/root/.homeassistant/mycounter.txt'

What am I doing wrong, what have I forgotten to set up?

do you already have a solution?

I didn’t find the right solution, then I solved the problem completely differently. I bought an ESP8266 and an RF transmitter and receiver from Amazon (around € 12 in total). Then I flashed “Jarolift MQTT” on it: GitHub - madmartin/Jarolift_MQTT: Controlling Jarolift TDEF 433MHZ radio shutters via ESP8266 and CC1101 Transceiver Module in asynchronous mode I’ve never had anything to do with ESP8266 before and have no idea about it. Nevertheless, I managed to do it in a short time. I can control the covers in HomeAssistant via MQTT

Can you explain to me which path you have entered to make it work?

Updated to 2021.6 and now the component is not working anymore.
i installed a manifest.json:
{
“domain”: “jarolift”,
“name”: “jarolift”,
“documentation”: “https://www.example.com”,
“dependencies”: [],
“codeowners”: [],
“requirements”: [],
“iot_class”: “cloud_polling”,
“version”: “1.0.0”
}
But now i am facing issues with the update of the new broadlink integration.
Does anyone got it working?

//edit: got it working again with an old version of the broadlink integration.
In the mean time i will prepare the MQTT solution and will give it a try.

1 Like