RFLink usability?

Hi,

I’ve been playing around with HA for a few weeks now, with the ultimate intention to have it integrate with 433MHz sensors and switches. I’ve tried a few cheap 433Mhz transmitters and receivers (using bruh instructions) but with limited success, I’ve had lots of problems with range and protocols. So I’ve concluded that a more robust solution is required.

The RFLink Gateway (http://www.nemcon.nl/blog2/easyha) looks really interesting, and I see there is a HA Component for it.

If there’s anyone out there using it…

  • How do you add a sensor or switch? Does it discover everything or do you need to ‘teach’ it the codes? I’m assuming they show up as entities in HA?

  • I’ve never used an Arduino before, its setup appears straightforward, just installing a .hex file from a Windows PC with the RFLink firmware on it. Is there any tinkering required to make it work with HA?

  • I see on the RFLink component page that the Arduino shows up as a USB port, how do you find its USB ID?

  • Any recommendations for antenna? I only need 20 meters range, but through several walls. Was thinking about buying the dipole kit https://www.nodo-shop.nl/en/rflink-gateway/159-rflink-arduino-dipool.html.

  • Is it reasonably reliable? I don’t want to spend (yet) more money on this little project if I have to spend a whole load of time keeping it up or restarting things.

I’ve had reasonably good experience with HA after I initially dabbled with OpenHab - but gave up with it. I’ve got a few bits and bobs integrated so far. The early support for v6 limitlessled milights was a big plus (I’m happy using the milight wifi bridge for this), and I’ve had success getting motion detection working from my Foscam camera (FTP, incron, MQTT). I now want to extend it further, to motion sensors and light switches, without have the huge expense of Z-Wave stuff.

Thanks for any opinions and answers!

Count me in on this topic - exactly the same interest! I’m looking to nab my RF pool thermometer values + more!

Hi. I was looking for a cheap and easy way to control cheap 433mhz sockets and found my sockets on the supported devices list on the rflink site. I just used what I had laying around and therefore use the “cheap China receiver and transmitter” and a fake Arduino Mega. I hooked them up as stated on rflink page (no additional antenna).

My struggle were to figure out how to get the ID (ref RFlink Component page). After a while I almost gave up and reconnected the RFlink to my computer and played around with the remote. After some lucky hits I suddenly saw a signal with the correct ID pop up and after that quickly multi clicked all remote buttons to get all the ID`s for all the remote I had. After that I reconnected the RFlink to my HA PI and added the switches as stated on the RFlink Component page and “Boom”! All sockets controlled via HA :slight_smile:

Im trying to figure out a way to get my doorbell connected properly to HA, but I think @aequitas is still working on the doorbell support.

For normal sensors I think everything is working since it is on the RFlink component page and I think you find the ID the same way as switches (reading the Debug) (I dont own any).

Anyways, a great big thank you to @aequitas for adding this!

Found a temperature sensor and tried to add it the same way as switches, but seem to fail. Got this from RFlink: 20;04;UPM_Esic;ID=0001;TEMP=00fb;HUM=00;BAT=OK;
I think it fails because of the “" in the name, since the component uses "” to build a name…

In addition to this I would like to see a list of sensor type to use with the component, but cant seem to find a list. Hopefully someone can help us :slight_smile: :

Removed “new_devices_group: “New Rflink Sensors”” from the config and suddenly the sensor showed up! Next task is to try to find a way to add the doorbell.

I’m quite pleased with the RFLink from Nodo.nl. Nicely made and works well with a good antenna, impressed with the range.

A couple of things I can’t get my head around though:
What is the ‘correct’ way to add a magentic door sensor. I can add it as a switch, and it seems to work OK, but then HA allows you to set the state of the switch - which it obviously can’t do, I’d like it to just appear read-only.

The other thing is discovering new devices, so far the only way I’ve found of discovering codes is to plug the RFLink into a PC and use the Windows app - I’d prefer not to have to disconnect it from HA when I want add devices. Is there a way to monitor the USB serial output from the RFLink from inside HA or from the command line?

If you use:
logger:
default: warning
logs:
homeassistant.components.rflink: debug

The logger then shows you whats going on. Maybe you then can see if its trying to add new sensors?

(by using the cheap china receiver my sensor needs to be 10cm from the receiver to pop up in HA. I have ordered a new super heterodyne receiver to see if this helps. Maybe HA adds the sensor properly then)

I have not had any luck auto adding a new sensor yet, but hope a new receiver helps.

I’ve just attached my RFLink and using the debug in HA all I ever get is …

2017-08-08 20:22:25 INFO (MainThread) [homeassistant.components.rflink] Initiating Rflink connection
2017-08-08 20:22:25 INFO (MainThread) [homeassistant.components.rflink] Connected to Rflink
2017-08-08 20:22:25 DEBUG (MainThread) [rflink.protocol] connected

However in the PC debugger/loader S/W I can see all my switches/remotes/sensors, I’m still on HA 48.1, maybe I need to upgrade HA.

Any thoughts?

Have you added in your yaml configuration?

light:
  - platform: rflink
    automatic_add: true


switch:
  - platform: rflink
    automatic_add: true


sensor:
  - platform: rflink
    automatic_add: true
1 Like

I added all my stuff manually based on my findings when I had it connected to my PC :wink:

OK, thanks for that I missed that in the docs :frowning:

However switch doesn’t support it and after removing it from switch I get …

in the log…

Traceback (most recent call last):
File “/usr/lib/python3.4/asyncio/events.py”, line 120, in _run
self._callback(*self._args)
File “/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/serial_asyncio/init.py”, line 106, in _read_ready
self._protocol.data_received(data)
File “/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/rflink/protocol.py”, line 46, in data_received
data = data.decode()
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x84 in position 7: invalid start byte

and …

Traceback (most recent call last):
File “/usr/lib/python3.4/asyncio/events.py”, line 120, in _run
self._callback(*self._args)
File “/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/serial_asyncio/init.py”, line 106, in _read_ready
self._protocol.data_received(data)
File “/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/rflink/protocol.py”, line 46, in data_received
data = data.decode()
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xfb in position 13: invalid start byte

And no new entity id’s :frowning:

I think I might try @Rune’s suggestion and add them manually, but that will be quite a lot of work!

On the bright side it will work and be a one time configuration :stuck_out_tongue:

True, I’ll report back if I get it working and probably if I don’t :stuck_out_tongue:

The dark side has won :stuck_out_tongue: , having typed in most of my 433 switches and sensors - HA can’t see anything and apparently can’t communicate with RFLG. I think it’s a HA problem, since the RFLG firmware can’t be changed and is working in my PC.

So I thought maybe I need to downgrade HA…

After downgrading to HA 48.1 - no change - still can’t communicate with RFLG

So then I thpught maybe I need to downgrade RFLG…
After downgrading to RFLG R45/R43 - no change - no communication

After each downgrade of RFLG I tested in my PC and it works fine.

HA always gives the error above (UnicodeDecodeError: ‘utf-8’ codec can’t decode byte ), the bytes vary in position and value but the result is the same :frowning:

If anyone has any ideas I’m all ears :slight_smile:

Did you get this working ok in the end?

Yep, it works OK now, tho’ my PI has bitten the dust and I’m running it from PC USB now. IIRC it was the USB address that was not quite right :stuck_out_tongue: and the sw was seeing it but couldn’t communicate with it very well.

Hey @Kitkat, can you please mark your post as answers/complete so other know :slight_smile:

Hi Keith,
Can you tel me how you fixed this problem?
I have the same problem with a new Arduino board with FRlink software.
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0x98 in position 2: ordinal not in range(128)
How did you fix the USB adress?
Hope you can help

IIRC I had to ssh into the HASSIO to get the correct USB address (it was definitely a USB address problem) , tho’ to be honest I can’t remember as I use it on my PC now (tho’ HA has a lot of problems on the PC).