New openHab2 EnOcean binding

Hi Daniel,

thanks for your immediate answer. Unfortunately i get also no log entry when pressing another button for example the FSB. For testing purpose this device is configured in PCT14 both, for direct use within the eltako world and for OH3 world (Funktion 31 Fahrkommando mit Zeitwertübergabe von GFVS).

Interessing point, I can run the rules from the Main UI (via a Widget) without any problem. The different Scene scripts are executed (with log entries) although the rocker switches are not working.

I’m not quite sure but i guess everytime i monitored this issue, i have seen some red “ThingStatusInfoChangedEvent” entries like UNINITIALIZED things or changed from ONLINE to OFFLINE from other bindings. As descriped above a few days ago it was from the hpprinter binding, today from the logreader binding. So it does not depend on the binding i guess…

The only way to fix this right now is rebooting the Pi.

Is there a chance to see more details about the rx thread from the enocean binding?

UPDATE (2021-12-19)
Obviously there is a correlation to other bindings once they are spaming the log with error messages. I did some testing because the HPPrinter Binding spamed the log with COMMUNICATION_ERROR messages and Changed from OFFLINE to ONLINE and vice versa.

Interessting part, while log is spamed, once triggering the rocker switch, the FSR14-4x switched immediately and the FUD14 needed about 15 seconds. I could reproduce this a lot of time. Also the Debug log showed that the EnOceanTransceiver send the telegram at least after this time period.

Problem is solved once the other Binding is disabled. BUT i guess it’s not related to exactly this binding. Maybe it’s more a kind of cpu/memory/performance or what else usage.

@fruggy83 do you have any idea how we could figure out what happens in detail? I could you provide with any data/logs what else you need.

Best regards and many thanks
Stefan

Hi at all,

a short update from my side. I guess i figured out what caused the problem. Obviously I was running into some trouble with java garbage collection. I use a Raspi 4 with 8 GB RAM and the java heap space was set to default by openhab. Since changing this setting to some more space (1GB) I could not longer monitor this behaviour. So all works great!

Some usefull links to this topic for me are shown below:

Rule execution lags, possibly Java GC - Setup, Configuration and Use / Scripts & Rules - openHAB Community

java - What are the -Xms and -Xmx parameters when starting JVM? - Stack Overflow

I hope this helps other guys in future.

Best regards!
Stefan

I have recently updated my OH install to the latest stable and this brought with it the change to EnOcean from OpenOcean.
I had a working configuration where I was using the tcp bridge, which is now part of the combined bridge thing. When entering the address like rfc2217://192.168.2.197:3001 I get the following result:
Status: Pending
CONFIGURATION_PENDING
trying to get bridge base id…
Any idea what I am doing wrong?

Hi everybody,

I have a question regarding the pushButton Thing and a corresponding Switch item.

The Switch Item is linked to a channel as descriped in the docs as follows:

eltako.thingsfile

Bridge enocean:bridge:gtwy "EnOcean FGW-14 USB" [path="/dev/ttyUSB0", rs485BaseId="0000B000", rs485="true", espVersion="ESP2"] {
    Thing pushButton FTS14EM_1_0_E1 "Taster Scene Innen" @ "Office" [enoceanId="00001001", receivingEEPId="F6_01_01"] 
}

eltako.items file

Switch Change_Scene "Scene Keller" (gScene) {channel="enocean:pushButton:gtwy:FTS14EM_1_0_E1:pushButton", autoupdate="false"}

So, now when i press the Switch (connected to the FTS14EM) I get the PRESSED event and when i release it, I get the RELEASED event.

However, the Switch Item turns to ON after the first press and to OFF after the second press. I would like to achieve that the Item turns ON with PRESSED and OFF with RELEASED.

Does anybody has an idea how to do that?

Best regards
Stefan

You can create a rule with a script.
Something like:
“If channel XX get triggerd with event PRESSED then send command ON to item XX, if channel XX get triggerd with event RELEASED then send command OFF to item XX.

I think the rawbutton-on-off-switch trigger profile should do the same thing without having to use a separate rule.

Hi @DrRSatzteil,

can you give me a little bit more infos about the rawbutton-on-off-switch? I’m not familar with this…

Many thanks!

Hi @dirkdirk,

thanks for this. It worked! I looked around several days for an answer but sometimes the simple one is the best!

Thanks a lot!
Stefan

rule "Scenen Taster Hobbyraum"
when
    Channel "enocean:pushButton:gtwy:FTS14EM_1_0_E1:pushButton" triggered
then
    if (receivedEvent == "PRESSED") {
        Taster_Hobby.sendCommand(ON)
    }
    else if (receivedEvent == "RELEASED") {
        Taster_Hobby.sendCommand(OFF)
    }
end

Sure, have a look at the docs. Pretty much at the bottom of the page you will find the Profiles section (scroll down a bit): Items | openHAB

You can set a profile when linking the thing channel to an item (see screenshot).

However I think I’m wrong unfortunately. The „Raw Rocker To On Off“ profile seems to just change a switch state to on with one press (press and release cycle) and off with another push so exactly what you experienced before and what you don’t want to happen. So sorry actually I think the rule is the way to go for you.

Thanks for this. You are right, unfortunately the approach with the Profiles will not work. I tried it.

The way descriped in my last post is good enough, this works. Anyway, thanks a lot for your fast help!

Best regards
Stefan

Hi @fruggy83

just a short question, I have a setup with a lot of Eltako series 14 actors (like FSR, FUD, FSB…) and this setup growed above 127 IDs. So now i need to split the RS485 bus into two seperate. For this the first bus is driven by a FAM14 + FGW14-USB and the second bus will be made with a FTS14KS + FGW14-USB.

Now my question, is it possible to use two FGW14-USB within the enocean binding?

My understanding is just to setup a second bridge with the corresponding baseid and path to the USB device.

Best regards
Stefan

Hi Markus,
I hope you have an idea. Currently I have a similar problem like @slax91.
My FUD61 state is not reported back to OH. Im running 3.3.

When I press the local connected dimm switch I see the telegram from the FUD61:

21:12:42.577 [TRACE] [ternal.transceiver.EnOceanTransceiver] - Received Sync Byte
21:12:42.579 [TRACE] [ternal.transceiver.EnOceanTransceiver] - >> Received header, data length 10 optional length 7 packet type 1
21:12:42.581 [DEBUG] [ternal.transceiver.EnOceanTransceiver] - RADIO_ERP1 with RORG _4BS for 0599E96A payload A5021000090599E96A0000FFFFFFFF5B00 received

But the status in the GUI is not updated.

This is what it looks like when using the GUI for setting the dimm value. You see that the value in the GUI stays at 21 - but a few seconds later it drops back down to zero. It looks like the status message is received but not forwarded to the item.

21:01:22.799 [INFO ] [openhab.event.ItemCommandEvent ] - **Item 'SwitchingDimmingActuator_Dimmer' received command 21**
21:01:22.819 [DEBUG] [ternal.transceiver.EnOceanTransceiver] - Enqueue new send request with ESP3 type RADIO_ERP1 without callback
21:01:22.820 [DEBUG] [ternal.transceiver.EnOceanTransceiver] - Sending data, type RADIO_ERP1, payload A502150A09FFDC50E70001FFFFFFFFFF00
21:01:22.820 [TRACE] [ternal.transceiver.EnOceanTransceiver] - Sending raw data: 55000A0701EBA502150A09FFDC50E70001FFFFFFFFFF0081
21:01:22.829 [TRACE] [ternal.transceiver.EnOceanTransceiver] - Received Sync Byte
21:01:22.830 [TRACE] [ternal.transceiver.EnOceanTransceiver] - >> Received header, data length 1 optional length 0 packet type 2
21:01:22.830 [DEBUG] [ternal.transceiver.EnOceanTransceiver] - RESPONSE with code RET_OK payload 00 received
21:01:22.830 [TRACE] [ternal.transceiver.EnOceanTransceiver] - Response without listener
21:01:22.861 [TRACE] [ternal.transceiver.EnOceanTransceiver] - Received Sync Byte
21:01:22.862 [TRACE] [ternal.transceiver.EnOceanTransceiver] - >> Received header, data length 10 optional length 7 packet type 1
21:01:22.862 [DEBUG] [ternal.transceiver.EnOceanTransceiver] - RADIO_ERP1 with RORG _4BS for FFDC50E7 payload A502150A09FFDC50E70100FFFFFFFF5500 received
21:01:24.781 [TRACE] [ternal.transceiver.EnOceanTransceiver] - Received Sync Byte
21:01:24.783 [TRACE] [ternal.transceiver.EnOceanTransceiver] - >> Received header, data length 10 optional length 7 packet type 1
21:01:24.785 [DEBUG] [ternal.transceiver.EnOceanTransceiver] - RADIO_ERP1 with RORG _4BS for 0599E96A payload A5021500090599E96A0000FFFFFFFF5C00 received

The Thing is configured as follows:

The item is configured as follows:

Do you have any idea why the item is not updated?
My FL62NP and my FJ62NP update their respective itmes. No matter if I use the local connected switches or the OH GUI or HomeKit. The status is always reflected correct and all of them are set to Auto-update = false.

Thanks!

Chris

Hi Chris,
the EnoceanID you configured in the Thing looks wrong. I see “599E96A0”, where the telegram you receive is targeted at

0599E96A

So simply put that value in the thing definition and it should work.

HTH
-Markus

1 Like

Hi Markus,

thanks! Just wondering how I could be so blind…

Christian