Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollodrive 75 Premium #11

Open
atillakati opened this issue Dec 20, 2024 · 11 comments
Open

Rollodrive 75 Premium #11

atillakati opened this issue Dec 20, 2024 · 11 comments

Comments

@atillakati
Copy link

atillakati commented Dec 20, 2024

Hello,
thank you for your efforts in creating this documentation. I am trying to integrate the Schellenberg Rollodrive 75 Premium into my HomeAssistant installation. I have purchased the Schellenberg radio stick for this purpose. With your description I am already a few steps further, but I don't have a hand-held transmitter and therefore couldn't carry out the pairing.

Can I pair the Rollodrive 75 Premium with the stick without a hand-held transmitter? What exactly does the hand-held transmitter send during the pairing process? Perhaps this can also be realized via the stick.

My plan is to write a dockerized .NET application that provides a REST endpoint for control. The whole thing should then run on a RaspberryPI.

@Hypfer
Copy link
Owner

Hypfer commented Dec 20, 2024

Can I pair the Rollodrive 75 Premium with the stick without a hand-held transmitter?

Not to my knowledge. The stick to my understanding operates on a rather high level so it can't just pretend that it is a remote.

There is one such transmitter on willhaben currently for 17€

@Hypfer Hypfer closed this as completed Dec 20, 2024
@LoPablo
Copy link
Collaborator

LoPablo commented Dec 20, 2024

This should be possible. Actually the Stick and the remote are doing the exact same thing, and you are able to send the exact same thing a remote would. You only need to get the Rollodrive 75 Premium into Pairing mode and send the corresponding pairing command from the stick.

Getting into pairing mode can be done with a remote or, if I read the manual correctly you have to press the "UP" and "SUN" button for 4 seconds (see manual page 55). You now have 10 seconds to send a pairing from the stick. The pairing command should be along the lines of ssXX9400000 where XX ist the coresponding device enumerator you want to pair it to.

@atillakati
Copy link
Author

atillakati commented Dec 22, 2024

Thank you for your answers. That the stick can basically do the same as the remote control was also my thought. Unfortunately, the whole thing does not behave as described in your documentation:

  • some commands do not work (sr, sv, sw)
  • all commands must be sent with a \r\n at the end

The communication for pairing is shown below. When the ROLLODRIVE is in pairing mode, I receive the line starting with "sl...".
As soon as I receive the "sl.." string I send the pairing command "ssA19400000" which is confirmed with t1 / t0. After that the ROLLODRIVE keeps on sending the "sl..." lines... I am not sure whether the pairing command structur is correct.
In any case, sending the commands "ssA19020000" or "ssA19010000" after that, doesn't do any thing.

Maybe someone has a similar behavior and can help me...

PS C:\myCode\Repositories\schellenberg-usb\src\UsbDataTransmitter\bin\Debug\net8.0> .\UsbDataTransmitter.exe
Attach usb stick with libusb0 v1.4.0.0 driver on windows.

Length:18
DescriptorType:Device
BcdUsb:0x0200
Class:Comm
SubClass:0x02
Protocol:0x00
MaxPacketSize0:64
VendorID:0x16C0
ProductID:0x05E1
BcdDevice:0x0200
ManufacturerStringIndex:1
ProductStringIndex:2
SerialStringIndex:3
ConfigurationCount:1
ManufacturerString:schellenberg
ProductString:ENAS
SerialString:000000000000

Enter command:
!?
[21:42:02] <- RFTU_V20 F:20180510_DFBD B:2

Enter command:
(entering here the ROLLODRIVE 75 Premium into pairing mode)

[21:42:16] <- sl00BE2655087058EF00BB

[21:42:17] -> ssA19400000
[21:42:17] <- t1

[21:42:17] <- t0

[21:42:21] <- sl00BE2655087058EF00CE

[21:42:21] <- sl00BE2655087058EF00CF

[21:42:23] <- sl00BE2655087058EF00B7

Legend:

<- stick receives
-> stick sends

@Hypfer Hypfer reopened this Dec 22, 2024
@LoPablo
Copy link
Collaborator

LoPablo commented Dec 23, 2024

Mh i just tried it and for me the sr, sv and sw command is working while connected to the dongle using screen on macos. I tested all the stuff using the old version of the tubular motor, which did not have any means of sending any commands back.

Does it keep sending the sl... for the whole 10 seconds it is in pairing mode? If not, try waiting for it to stop sending. Neither the stick nor the Rollodrive are able to send and listen full duplex for sure.

I might be able to hook up the old smart gateway and see what it is sendinf when trying to pair a Rollodrive 75 Premium.

@atillakati
Copy link
Author

The gateway would certainly help. But please don't stress over the holidays.
By the way, I found out why the commands didn't work for me: The capitalization of the commands is important! (!G capital G, sv, sw, sr... small letters!)... So my mistake. Everything is fine.

@atillakati
Copy link
Author

...

Mh i just tried it and for me the sr, sv and sw command is working while connected to the dongle using screen on macos. I tested all the stuff using the old version of the tubular motor, which did not have any means of sending any commands back.

Does it keep sending the sl... for the whole 10 seconds it is in pairing mode? If not, try waiting for it to stop sending. Neither the stick nor the Rollodrive are able to send and listen full duplex for sure.

I might be able to hook up the old smart gateway and see what it is sendinf when trying to pair a Rollodrive 75 Premium.

To answer your question: Yes, when the roller blind is in pairing mode, the “sl...” string is sent approximately every second... for 7 seconds. After that it ends.

@atillakati
Copy link
Author

When the middle button on the remote control is pressed, you write that the remote control sends the following command:
ss118F365400029820CB

Further down you describe the format for Schellenberg devices:
ssA59010000

The difference in structure is not clear to me. Shouldn't the stick send similar messages like the remote control? So like ss118F365400029820CB?

@LoPablo
Copy link
Collaborator

LoPablo commented Dec 23, 2024

The command to send the message follows the structure described in the documentation. It does not directly resamble what the stick is sending. Lets take the remote command as example:

Remote: ss 11 8F3654 00 029820 CB
Command: ss A5 9 01 0000

  • The 11 is the coresponding device enumerator of the remote. In the sending example this would be the A5
  • 8F3654 is the device id. It should be unique per remote / stick. The sticks device id is viewable with the sr command. The device id is added to the command by the stick. It is not needed in the command and is omitted.
  • 00 in the example is the command which the remote wants the shutter to use.
  • 0298 20 are just counters, not really necessary for explaining, they are also added automatically by the stick.

In the sending command the counter kinda comes before the shutter command. The 9 tells the stick how often it is supposed to send the message with incrementing counters. Afterwards the 01 is the corresponding shutter command, in this case go up.

@LoPablo
Copy link
Collaborator

LoPablo commented Dec 26, 2024

Ok i feel so dumb right now.

I just tested what the Smart Friends Gateway is sending when it is trying to pair a Rollodrive premium. And it is sending:

ss 5E 8Fxxxx **60** 000100 DF

So not command 40 but command 60.

Which makes total sense because command 40 is allow pairing of device when it is already paired to the stick / the remote and command 60 is the right command for Pair ( or change Direction when already paired).

So you might want to try the same thing again, but instead of command 40 use command 60.

@LoPablo
Copy link
Collaborator

LoPablo commented Dec 26, 2024

By the way, after sending the 60 command, it sends the command 1F. Might be some status request from the Rollodrive, but we have yet to find out.

@atillakati
Copy link
Author

Many thanks for your efforts. Pairing works with the 0x60 command. I can now move the roller blind up and down... Perfect & thanks for the support.
When my implementation is finished I will share the link to my project here.... Cool thing!

Happy new year!

[17:01:18,580] Initializing RF stick...
[17:01:18,595] -> !G
[17:01:18,596] <- OK

[17:01:19,304] <- RFTU_V20 F:20180510_DFBD B:1

[17:01:19,304] -> !?
[17:01:20,012] -> hello
[17:01:20,722] -> !?
[17:01:20,722] <- RFTU_V20 F:20180510_DFBD B:2

(put here the Rollodrive Premium into pairing mode)

Enter command:
[17:01:48,182] <- sl00BE2655087058EF00C7

[17:01:48,183] -> ssA19600000
[17:01:48,683] <- t1

[17:01:49,334] <- t0

ssa19010000
[17:02:07,393] -> ssa19010000
[17:02:07,404] <- t1

Done! (13 bytes)
Enter command:
[17:02:08,545] <- t0

ssa19020000
[17:02:12,780] -> ssa19020000
[17:02:12,790] <- t1

Done! (13 bytes)
Enter command:
[17:02:13,931] <- t0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants