we just purchased a house with some light controls, switches and shutter motors from ELDAT easywave. Is there a way to integrate them into OH?
I am a total beginner and have not found a real answer, only commercial solutions like HomeSuite…
I doubt it but… there might be a way…
Some very quick research shows the following:
There is a USB Stick that operates on the 868,30 MHz Frequency but it is using a proprietary protocol.
I found a reference to this USB Stick in this thread: New Elero TransmitterStick Binding (but it seems that it doesn’t work)
I don’t know if that binding can be used to integrate your system with OH2…
I found similar. It seems that this thing understands AT serial commands. I have no OH skills but I am a little tech savyy, if I get it running, how difficult is it to write code to get it running?
If your’re still interested: I have some Niko EasyWave devices (4 1-10V dimmer controllers and 5 relays) which I managed to control from OpenHAB using the Eldat EasyWave USB stick. I got a mail from an Eldat representative stating that if devices have the EasyWave logo, they are compatible - huray!
Actually communicating with the stick is pretty simple, you just need to send some strings to a tty port.
The first thing I did was add a udev rule to create a symlink /dev/ttyEasyWave that points to whatever port the Eldat stick is plugged so that I don’t have to worry about the port name after a reboot.
Next you can test things by echoing commands to that port like echo TXP,01,A > /dev/ttyEasyWave
You should see the RX LEDs on the receivers react / flicker - put a receiver in programming mode and send the command again to learn in the command. (Note: with the driver from the Eldat website you can do the same thing in Windows with any tty application e.g. TeraTerm).
I did not manage to get things working with the serial binding. For some unclear reason, the linefeed to enter the command is not getting through (tried all combinations of \n\r, charsets, … nothing worked. So I wrote a mini shell script EasyWave.sh to write to the tty port:
echo $1 > /dev/ttyEasyWave
and call that script from a rule. Since EasyWave is just a one way protocol, I preferred not to use on/off switches. Instead, I’m using two buttons: one sends the on command and the other one sends the off command. If you program an EasyWave in 2 button mode, channel X,A is on and channel X,B is off.
Made a template with 9 on and 9 off buttons, each button tied to a string item and button presses fire a rule that calls the shell script. E.g.:
rule “Light 1 on”
Item light_1_ON received command
executeCommandLine("/etc/openhab2/scripts/EasyWave.sh TXP,01,A", 1000)
rule “Light 1 off”
Item licht_1_OFF received command
executeCommandLine("/etc/openhab2/scripts/EasyWave.sh TXP,01,B", 1000)
String light_1_ON “Light 1 on”
String light_2_OFF “Light 1 off”
There are other options like using a single button mode (press on/press off) - the stick has 64 or 128 channels (2 versions) which makes a large playground. Next on my list is to control dim up/down.
(btw: if anyone knows a solution for the thing with the serial binding, I’m very interested - that would make things work without rules / shell script)
Note: make sure you set the baudrate correctly: stty -F /dev/ttyEasyWave 57600
(and put an @boot in the root’s crontab to make it boot-safe)
thank you for your post, it was very helpful for me. I have purchased the same USB Stick but I did not managed to capture signals from my Nikobus Easywave Rf Interface 05-300 unit (it has the logo as you mentioned - so I am expecting it to work). The installation works as is (lights are switching, blinds are rolling etc) over Easywave, but I cannot see any telegrams on tty with RX09. I dont know what commands to send to tty to actually switch lights programatically. Any ideas how to learn/capture these commands? I have tried your commands (the RX09 LED is reacting), but nothing happens on Niko side. I have also managed to connect RX09 to OpenHAB, and it seems to be recognized, but no success with Niko.
Well, it’s been some weeks so writing from memory: the codes correspond to the buttons on a remote. So if your stick has 16 channels that would become A…D x 1…4
TXP,01,A = send button 1 channel A
The stick has it’s own ID so you need to put your RF receiver in learn mode (set the mode switch on the receiver to whatever mode you intend to use) and then send the command with the stick.
The receiver will record the ID and channel and confirm with a beep, exit learn mode and try things out.
So you’re not copying commands from some other remote, you’re sending your own.
If you download and install the USB driver you can watch what the stick is receiving (stick is TX and RX !) which you could use to send commands to openhab with an easywave transmitter - haven’t tried that but it can be done. Just give it a shot and you will see it looks like a rather random character string.
Thanks for the help again. It worked!
I have actually tried that before, but it was not working so I was trying different things. Your advice helped me to focus on the right solution. For future reference, my problem was missing CR/LF at the end of the telegrams.
Thanks for letting me know - glad things worked out for you.
FYI: rather then using a shell script I’m now using interceptty - it creates a virtual serial port which pipes the commands to the real port. When I send telegrams to that virtual port, the linefeeds work fine.
If you have a better solution, please let me know.