EnOcean - General Setup

Hi everybody,

like many others, I try to get EnOcean components to work with HASS.

This should be a summary of the things I found and to work together on the topic.

Setup and Plan from my side (input welcome)

Setup

  1. This first Post short summary
  2. Post Summery of confirmed Setup and options
  3. List of open tasks and topics to clarify

I Would update this depending on answers and progress

Plan: (Details in Post 3)

  1. get a proper setup of devices and a protocol of messages
  2. Investigate on the automated setup of devices
    here the link to a repo for OpenHAB
    From my point of view it is good structured and most of it could potentially be reuse (after the device setup is clear)
    openocean/src/main/java/org/openhab/binding/enocean/internal at master · fruggy83/openocean · GitHub
  3. if possible get this as an easy to implement component

I would also like to enhance the general info on the HASS page
But first some input.
If somebody has a proposal on how to get this even more structured e.g. Git, also welcome.

greetings
Michael

Post 2 Confirmed Settings

PLEASE CORRECT ME !!!

General:
Each device do have its own ID.
The ID is part of the message.

There are also different kinds of messages and definitions of structures
Structure:
1BS
4BS

Messages:
In the message the Device sends a ID
This is unique per device

e.g.
Base ID is FFAB1080 and
Device ID is 15 (corresponds to 0x0F) = FFAB108F,
or Device ID 55 (0x37) → 0x80+0x37 = 0xB7 -->> FFAB10B7.

Teach message:
This contains the EEP (Definition of the Device) and the manufacturer
For each EEP class the content of the message is defined (how to interpret what)
Example:
F6-02-01 FT55 Eltako
by this it can be defined what the message will be
Her the Link to a Def openocean/F6_02_02.java at master · fruggy83/openocean · GitHub
The manufacturer ID is also needed because the messages have been sometimes enhanced by the manufacturer
Example:
7FF vendor Eltako

If also your actuators are sending confirmation messages depending on the actuator.
(actual under Investigation)

Dongle Implementation:
The dongle can be implemented via Addon

Post 3 Tasks open Questions

1. get a proper setup of devices and a protocol of messages

Ok From my point of view it makes no sense to walk around I the fog, so first thing I would like to acive a proper setup of a device really a device, not an entity.

After that, I would like to get an overview about the messages to this device
as well as a ageneral logging of messages on the EnOcean channel.

In general i also not see the advantage to start here super easy and get stuck with some multi-value and message devices.

Proposed combination to start with analyses (because I can provide them)

Eltako FT55 EEP: F6-02-01

Eltako FSR 14-4x EEP: M5-38-08
(Example config in FHEM
https://wiki.fhem.de/wiki/EnOcean-FSR14-4x-RS485-Bus-Schaltaktor-4-Kanal-StromstoĂź-Schaltrelais
Eltako FTR65DSB EEP: A5-10-06

Eltako FAE 14SSR EEP: A5-38-08

Open Questions:

1. first implementation

defined on this page EnOcean - Home Assistant
It is expected to use the integration of EnOcean
I did it in a other way

enocean:

  device: /dev/serial/by-id/usb-EnOcean_GmbH_EnOcean_USB_300_DB_FTO63T0-if00-port0

is this equal to the Plugin?
if I use the Plugin do I need to setup the device anyway?

2. Listen

I have no clue how to listen only on the EnOcean
What i did till now i add this to the config.yaml

logger:
  default: error

THen like describe an other post like that

Under Devellopment tools → Services

service: logger.set_level
data:
  homeassistant.components.enocean: debug

And the Under Devellopment tools → Events

in Listen to a “*”
But then i get everything i do not think that this is a propper way to do that.

I have one FT55 defined and i get her the following event
Do i get also the messages Even if the device is not defined in the config.yaml?

{
    "event_type": "button_pressed",
    "data": {
        "id": [
            254,
            249,
            70,
            49
        ],
        "pushed": 0,
        "which": 0,
        "onoff": 1
    },
    "origin": "LOCAL",
    "time_fired": "2021-12-02T10:31:21.411321+00:00",
    "context": {
        "id": "9690d5f6b9e6f9cb6ca6539e1fc011b7",
        "parent_id": null,
        "user_id": null
    }
}

I understand howe to read it but i have no clue howe to setup a propper log to this messages

3. Setup of a Device
Like you can see in the message there are definitely many values for such a device
i can not even loog one
This is howe the same FT55 looks in FHEM


Here how FHEM dose the config
https://wiki.fhem.de/wiki/EnOcean-PTM-210-Taster

Could somebody give me a hind howe to get a real device setup with multiple entities
Best would be to have a in a “separated” area so everybody could test this in the same way without cross influences from other components .

  1. I will post here some links to other projects
    WIP

Hi Michael,
I also like to use Enocean devices properly in HA. Unfortunately it’s crappy supported - which I actually not understand since the devices are pretty neat - especially Eltako.
Anyway, I managed to implement an Eltako FFT65B (EEP: A5-04-02) with a plain HA installation and a USB300 stick out of the box. Hence it should not be rocked sience to implement other components as well. Obviously the EEP definitions are properly documented from Enocean.
So is there any progress so far? How can I support?
Kind regards

1 Like

“Unfortunately it’s crappy supported”
Yes, and still it is - in 2022.
It’s a pitty.

At this time I try to integrate Eltako FSB14 (shutters) and FSR14 (lights) with my own python scripts and a second ENOcean dongle (USB300).

If there is anyone in the community who can help building custom integration and is familiar with Eltako / ENOcean - please give sign. I’m diving into it.

Hey how funny you just replied as well…

I’m about to dive into order a ton of modules for my house remodel, so I’ve been Researching a bit, but my sense is this: Eltako has a ton of enocean modules that work great for localized communication between Sender-Buttons and receiver-actors (like dimmer, roller), but it looks like HA won’t be acting well as a negotiator or communicator? (can HA even send telegrams?).

I’m comparing enocean to ZigBee and Shelly-Support, and I’m currently leaning towards basing my smart home on ZigBee for the most part.
I love the idea of the lower frequency enocean protocol howver!

Im glad that Jung (vendor for all my wall switches) has a full range of powerless enocean sender wall switches with PTM215 modules. I’m currently planning to just receive these signals in HA and handing them over to ZigBee actors (as well as some Shellys for more heavy handed stuff).

I’m afraid if I order and install dozens of enocean modules, I won’t be able to achieve my HA dashboard Vision (e.g. reporting the position of every cover in the house and setting exact position values via the interface, something I already know is possible with ZigBee and straightforward with a Shelly 2PM)

I’d love to hear more user reports of successful enocean adoption in HA, but for my part it can’t be as “hacky” as requiring python scripts etc

1 Like

I LOVE the EnOcean concept of battery free sensor and low frequency communcation. The tech is sound and reliable, the specs are open and straightforward and I have no idea why HA doesn’t support this established standard properly.

Right now, I run a few Eltako FT55 wall switches and a Nodon Soft Button, both triggering Zigbee lamps via HA by means of event iterception.

I have a couple remotes and actors shelved uselessly, waiting for the Enocean integration to grow towards them, and I’ll have Becker shutters by end of the year.

As posted elsewhere (https://github.com/home-assistant/core/issues/71935), the current implementation really is far from complete.

I have no idea how, but we should find a developer willing to give this a go and rally all those frustrated Enocean users out there for testing.

3 Likes

It’s a really long discussion about this integration…
What are you using to implement Nodon Soft Button ? The official repo, or you have a custom ?
2 years ago (in Enocean : add profils - #2 by olwin) you told you couldn’t use double or long press. Have you solved ?

Getting in here too.
I really like HomeAssistant, and its a huge system.
When renovating my home I used my normal switches, and added some EnOcean switches.
In OpenHab I got some switches to work, even with long and short presses, but many ingetrations were missing so I changed my system to Home Assistant. What a easy system when there are integrations.
I repair cars for a living, but when my logs says things like this I just dont know what to do.

[homeassistant.components.enocean.dongle] Received radio packet: FE:F7:3B:6A->FF:FF:FF:FF (-83 dBm): 0x01 ['0xf6', '0x10', '0xfe', '0xf7', '0x3b', '0x6a', '0x20'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x53', '0x0'] OrderedDict()
[enocean.communicators.SerialCommunicator] FE:F7:3B:6A->FF:FF:FF:FF (-83 dBm): 0x01 ['0xf6', '0x10', '0xfe', '0xf7', '0x3b', '0x6a', '0x20'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x53', '0x0'] OrderedDict()
[homeassistant.components.enocean.dongle] Received radio packet: FE:F7:3B:6A->FF:FF:FF:FF (-83 dBm): 0x01 ['0xf6', '0x0', '0xfe', '0xf7', '0x3b', '0x6a', '0x20'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x53', '0x0'] OrderedDict()
[enocean.communicators.SerialCommunicator] FE:F7:3B:6A->FF:FF:FF:FF (-83 dBm): 0x01 ['0xf6', '0x0', '0xfe', '0xf7', '0x3b', '0x6a', '0x20'] ['0x0', '0xff', '0xff', '0xff', '0xff', '0x53', '0x0'] OrderedDict()

I know that one message is sent when the button is pressed and one is sent when die button is released again.
In this message there is a part for the model, which buttons are pressed and the serial of the switch.

Did anybody found a working integration (installation with HACS) or did anybody make it work with short presses or long presses?

How do you implement the button-presses to get home assistant make things do?

I use plain vanilla EnOcean so far. The NodOn triggers a button_pressed event which you can use in an automation.

You need to add the button’s ID in the DATA field of the automation trigger:

id:
- byte1
- byte2
- byte3
- byte4

You can find the button’s ID when tracking button_pressed events under developer tools.

Interesting discussion about EnOcean integration.

I have been using EnOcean devices for more than 15 years after writing an integration for the HomeVision system (an early HW based Home Control system), and have found them to be very reliable. However, HomeVision is no longer supported (although there is a great core of diehards who provide excellent help), with some key online components planned to be turned off, and I need to switch to a modern platform. After an initial test of Home Assistant a couple of couple of years ago it looked like there was good support - my sensors (wall switches) and actuators (EnOcean switches) were automatically registering - so I was encouraged to make the switch.

Recently I have brought up a new Home Ass system and I have to say I have been impressed. It has easily directly set up integrations for lots of devices around the home, including my AV system, Powerwall, Charger and Hot water tank, and I have got some basic automations working OK. However, in spite of the extensive trying, I have been unable to get the EnOcean integration to work and this has completely stalled the migration. It seems to be very broken and crashes (I see traceback errors in the enocean code in the logs).

The point of my post is to ask if this integration is actively being worked on? If so I’d be happy to work with the developer(s) to test.

If not then I will have to have a rethink. I also use FHEM on RPi’s as edge controllers (garage door, watering, greenhouse controller etc) talking back to HomeVision using MQTT. As it seems that MQTT works well in HomeAss (my edge controllers were easy to integrate) I am wondering whether I need to set up a EnOcean gateway using FHEM talking to HomeAss. My second question is whether anyone has done this and got a working system?

Thank you for your thoughts.

@jacquo @olwin Do you have a step by step tutorial for me and my Enocean NodeOn Soft Remotes, please?

I use ha for a few weeks and I am really impressed of this system.

My enocean usb sticks is integrated in the ha system already and I can see message packages in the logs when I pressed buttons of the soft remotes.

But I do not know how to add the soft remotes into the ha system :frowning:

anybody with NodOn Soft Remote Enocean experience here?

Here’s what I did with that soft button.
Note that this is a kludge and far from what that button could do.

First, you find the button’s device ID by going to developer tools / events and start listening to “button_pressed” events.

Then hit the soft button. You’ll see something like this:

event_type: button_pressed
data:
  id:
    - [number1]
    - [number2]
    - [number3]
    - [number4]
:

That’s your button’s device ID.

With this, you can create an automation.
Trigger would be the button_pressed event.
Event data would be a copy of the id snippet above:

 id:
    - [number1]
    - [number2]
    - [number3]
    - [number4]

The rest works like any other automation.

1 Like

@olwin first of all THANK YOU for your response :slight_smile:

could you please send an example of your nodon soft remote button config? Because I do not understand how to distinguish between the different buttons…

I just did. Each of them has a unique ID, that’s how you distinguish them.

sorry for my stupid questions :wink:

do I have to create a device, first? a binary_sensor or what do I have to create?

whichs steps do I have to do :slight_smile:

The EnOcean integration is quite rudimentary.
There won’t be a device, you won’t see that button in your UI.

All you can do at this point is to create an automation which would be triggered by the button_pressed event.

So

  1. find the button’s 4 byte ID as described above
  2. write an event triggered automation and provide the ID in the event data field.

The automation’s YAML code would look similar to this:

alias: "Toggle Living Room Ambient Light"
description: ""
trigger:
  - event_data:
      id:
        - 123
        - 23
        - 34
        - 45
    event_type: button_pressed
    platform: event
condition: []
action:
  - type: toggle
    device_id: xxxwhatever
    entity_id: light.living_ambience
    domain: light
mode: single

Hi @olwin

here is what happens when I pushed a button on my soft remote and it does not matter which button of the remote I pressed - the id is always the same:

event_type: button_pressed
data:
id:
- 0
- 49
- 203
- 180
pushed: 0
which: 1
onoff: 1
origin: LOCAL
time_fired: “2023-01-03T13:11:22.122627+00:00”
context:
id: 01GNVW418AXA1QV7THSJ619MYJ
parent_id: null
user_id: null

I created a “binary_sensor” in the configuration.yaml:

  • platform: enocean
    id: [0x00,0x31,0xCB,0xB4]
    name: softremotegrau

What do I have to do step by step?

Hello everyone,

I was trying to integrate a Nod On SIN-2-1-01 following the Home Assistant EnOcean wiki.
I managed to see it in my “Entities” now and when I use the manual switch it also changes status. However I can not change it via Home Assistant. It only gives me this Information: “turned off triggered by service switch.turn_off”.

Any idea on how I can also turn the light on and off with Home Assistant.

Best Anton