Hi, I recently added the original RFLink Gateway (from nodo-shop.nl) to my Hassio server. Everything works like a charme!
I love having these cheap 433.92 MHz remotes as extra input. But the problem of rflink integeration is that if I bind an ordinary remote as switch/binary_sensor two buttons are used for one toggle e.g.:
Button A on:
[homeassistant.components.rflink] event of type command: {'id': 'powerfix_0f80_01', 'command': 'on'}
Button A off:
[homeassistant.components.rflink] event of type command: {'id': 'powerfix_0f80_01', 'command': 'off'}
Is there a way to fire an event after each button press of either on or off button? I don’t want to remember the last state and just have all the events. That way I could bind double the automations to a remote and I don’t have to concern about the current state of the toggle if an action was already triggered otherwise (e.g. timer).
Now if for example something turns off the light I have also to toggle the on/off switch of the remote to the corresponding state before I can turn the light on with the remote again.
edit: I forgot to write that I use Node Red for automation. So I want all the single button press events also to use in there…
You should use the current state node to determine if the light is on or if it is off and then take the appropriate action. I use that logic to turn on, a series of lights. I’m Not familiar with the rflink. I just use a RFBridge and cheap 4 button remotes that have diffent codes for individual and combination of buttons A,B,C,D,A+B,B+C,C+D,A+B+C,B+C+D,C+D+A, Etc
So you are polling current state frequently? Afaik the “current state” node (in Node Red) is passive and will only deliver Information upon polling/calling. I don’t think that helps me here unless with an insanly high polling frequency. But also then only if states are changed.
Thats not quite what I wanted. There would still be the issue that I won’t recognize a new event if that event leads to the same state (so no state change was made). Node Red responds only on state changes and if I press the button “on” on channel A Node Red won’t get a second press on “on” because no state has changed (thats the way how RFLink integration is implemented)
What I want is every single event (like “on” pressed) even if the state is the same as before. Best would be something like “button pressed” and “button released”. But Seems as if this is not easily possible with rf as there is no explicit release event on rf devices unlike in more modern standards (like zigbee)
But maybe I already found a solution: In Node Red there is also a HA Node called “events all”. This node get all events fired by HA. With the switch node I can then filter these events for specifically that RFLink command I’m looking for.
I think important is to use the HA option “fire_event: true” for RFLink devices, so an event is fired even if no state has changed. But I already observed that at least my remote for one button press sends a second command directly after the first (probably reliablity reasons) so you have to filter out the second command for example with the delay node. (more Information here: https://www.home-assistant.io/integrations/switch.rflink/)
I hoped for a more comfortable solution with HA directly. But if nobody has a better idea I think I found a solution for myself an this thread can be closed.
My setup has HA with Sonoff RF bridge ( Tasmota Flashed). I want to use 4 button remote for certain operations. I just want to know how I can integrate it.